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

时间:2011-06-22 08:24:22

标签: c++

我无法找到与我想问的匹配。为什么我不能显示棕褐色(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。

2 个答案:

答案 0 :(得分:2)

你正在划分两个整数,如果结果为0.something,它们会给你零。所以你需要将一个投射到浮动中。

(39 / (float)180 * 3.142);

或使用浮点数

(39.0f / 180.0f * 3.142);

答案 1 :(得分:2)

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

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