如何显示一个小数点后两位的数字?

时间:2019-03-09 13:50:36

标签: c#

我知道这个问题以前曾有人问过,但是我使用的每个解决方案仍然无法正常工作,文字只显示1.00(从1.00到1.99),因此它不显示任何小数位。我当前的代码是这样:

doubleNum = CountiesList[Current].Infected / 1000000;
    if (eachChild.name == "Text2")
        eachChild.GetComponent<Text>().text = doubleNum.ToString("F", CultureInfo.InvariantCulture) + "m"; 

我尝试了很多在这里和其他站点上找到的解决方案,例如:

decimalNum.ToString("0.##") + "m";

(我在这里使用的是十进制数字而不是双数字)

Math.Round(doubleNum, 2);
Math.Round(doubleNum, 2, MidpointRounding.AwayFromZero)
Math.Truncate(doubleNum * 100) / 100;
doubleNum.ToString("F")

但是,到目前为止,它们都没有显示任何作用,它们都将其显示为1.00或2.00或其他任何形式,但不显示小数点后的任何数字(0除外)。谢谢。

1 个答案:

答案 0 :(得分:1)

假设CountiesList[Current].Infected是一个整数,然后将CountiesList[Current].Infected除以1000000会产生一个整数,在您的情况下,该整数可能是1或2。

如果您希望结果为双精度,则两个值之一应为双精度:

doubleNum = CountiesList[Current].Infected / 1000000d;

此处有更详细的讨论:

C#: divide an int by 100

此处的dotnetfiddle示例:

https://dotnetfiddle.net/gT4PKN