我知道这个问题以前曾有人问过,但是我使用的每个解决方案仍然无法正常工作,文字只显示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除外)。谢谢。
答案 0 :(得分:1)
假设CountiesList[Current].Infected
是一个整数,然后将CountiesList[Current].Infected
除以1000000
会产生一个整数,在您的情况下,该整数可能是1或2。
如果您希望结果为双精度,则两个值之一应为双精度:
doubleNum = CountiesList[Current].Infected / 1000000d;
此处有更详细的讨论:
此处的dotnetfiddle示例: