如何将分数转换为双精度或小数

本文关键字:双精度 小数 转换 | 更新日期: 2023-09-27 18:23:56

案例:

double x = Math.Pow(Convert.ToDouble(0.07003 + 1 ),(1/12));
Console.WriteLine(x);

输出:

1

上述输出不正确,因为x的结果是1而不是1.005657

如何将1/12转换为它给出分数值并被Math.Pow()接受的格式。

真正的问题是1除以121/12),得到值0(而不是0,083333...)。

如何将分数转换为双精度或小数

试试这个:

double x = Math.Pow(Convert.ToDouble(0.07003 + 1 ),(1/12d));

这使得CCD_ 11为双,这使得CCD_ 12的结果为双。因此,结果将是0.0833333333333333,而不是从该除法中得到0

文字112都是整数,因此1/12是整数除法,给出整数结果(0)。将至少一个文字更改为doubledecimal以执行浮点除法。

要使数字成为double,请添加小数点(例如1.0)或后缀"D"(1D)。要使其成为十进制,请添加后缀"M"(1M)。