Borland C++,获取小数的问题

Borland C++, problems in getting decimals

本文关键字:问题 小数 获取 C++ Borland      更新时间:2023-10-16

我找不到与我想问的相匹配的问题。为什么我不能显示tan (39/180*3.142)?相反,它给了我0.0000,我需要小数。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    float h, a, d;
    char* number = new char[255];
    a = tan (39/180*3.142);
    sprintf(number, "%.6f", a);
    Height->Text = number;
}

请提供建议。Thnx。

尝试使用浮点数,它可能会将39/180(整数)计算为0:

a = tan (39f/180f *3.142);

您正在对两个整数进行除法运算,如果结果为0,它们将为零。因此,您需要将一个整数强制转换为浮点值

(39 / (float)180 * 3.142);

或者使用浮点数

(39.0f / 180.0f * 3.142);