我遇到了ToString()的问题.我想显示我的整数:
150000
对此:
150 000
这是我尝试过的:
string myNumber = Convert.ToInt64(input_value.Text).ToString("D");
字符串myNumber是一个变量,我将与标签关联以显示用户输入的值(input_value).该值是< asp:TextBox>.最后,我想为每个3位数添加一些空格以使值更清晰.
在ASP.net中是否还有其他解决方案可以做同样的事情?因为这个似乎不起作用.
注意:我也试过[…].ToString(“N1”);并且它工作得很好,但我不希望显示结果中的最后一个.0 150.0,这不是正确的整数格式.
解决方法
您可以使用“”作为千位分隔符创建自定义NumberFormatInfo:
var formatInfoWithSpaceGroupSep = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone(); formatInfoWithSpaceGroupSep.NumberGroupSeparator = " "; formatInfoWithSpaceGroupSep.NumberDecimalDigits = 0; // or "N0" instead of "N" below Console.Write(num.ToString("N",formatInfoWithSpaceGroupSep)); //123 234 000
您必须使用N
format specifier支持组分隔符而不是D
.