Ant*_*ton 2 .net c# formatting
我正在使用下一个代码来格式化双值:
String.Format("${0:0,0.#}",...);
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是当数字小于10时,我遇到了问题.例如,数字显示为$ 03,$ 06.
请告诉我正确的字符串,以下一格式ddd,ddd,ddd,ddd.dd为双号
试试这个:
string result = string.Format("${0:#,##0.00}", d);
Run Code Online (Sandbox Code Playgroud)
如果您的双倍代表货币,您应该使用:
string result = string.Format(CultureInfo.GetCultureInfo("en-US"), "{0:c}", d);
Run Code Online (Sandbox Code Playgroud)
请注意,如果省略CultureInfo.InvariantCulture它,则可以使用$某些计算机以外的其他内容显示.例如,在我的计算机上string.Format("{0:c}", d)给出的2,00 kr可能不是你想要的.
在您的示例中,您实际上根本不需要使用string.Format.您可以使用此代替:
string s = d.ToString("c", CultureInfo.GetCultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)
除了更清晰和更简洁之外,它还具有避免拳击的优点.当然,如果你的格式字符串比你的例子更复杂,那么使用它是有意义的string.Format.
作为最后的评论,我建议不要使用双打来存储货币.十进制类型可能更合适.