我知道这个问题以前曾在这里问过,但我使用的每个解决方案仍然不起作用,文本只是说从 1.00 到 1.99 的所有内容中的 1.00,所以它没有显示任何小数位。我目前的代码是这样的:
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 除外)。谢谢。
假设CountiesList[Current].Infected
是一个整数,然后除以CountiesList[Current].Infected
由1000000
生产者的整数,这可能是任一在您的情况1或2。
如果您希望结果为双精度值,则两个值之一应为双精度值:
doubleNum = CountiesList[Current].Infected / 1000000d;
更详细的讨论在这里:
示例 dotnetfiddle 在这里:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句