【发布时间】:2016-03-06 12:33:46
【问题描述】:
我有一个从1 到999 的号码。
我希望 1 到 <10 显示单个小数(如果有效)。但是10 到999 任何时候都不应该显示小数:
float[] testNums = { 2f, 3.4f, 7.59f, 22f, 37.3f, 104f, 351.7f };
string[] output = new string[testNums.Length];
for (int i = 0; i < testNums.Length; i++) {
string strNum = testNums[i].ToString("0.#"); //"0.#" is the closest I've found
output [i] = strNum;
}
Debug.Log(string.Join(", ", output));
结果:2, 3.4, 7.6, 22, 37.7, 104, 351.7
想要的结果:2, 3.4, 7.6, 22, 37, 104, 351
有没有办法只使用number formats 来实现这一点,还是我必须为它编写代码? (例如:)
if(strNum.Length >= 4)
{
strNum = strNum.Substring(0,3).TrimEnd('.', ',');
}
【问题讨论】:
标签: c# unityscript number-formatting