Hou*_*man 50 c# string format currency
我在文本框中输入一个字符串值,显示需要格式化的余额,如下所示:
###,###,###,##0.00
Run Code Online (Sandbox Code Playgroud)
我可以使用value.ToString("c"),但这会将货币符号放在它前面.
知道如何在输入文本框之前操作字符串以实现上述格式化吗?
我试过这个,没有成功:
String.Format("###,###,###,##0.00", currentBalance);
Run Code Online (Sandbox Code Playgroud)
非常感谢,
Jon*_*eet 65
如果货币格式为您提供了您想要的内容,请克隆一个NumberFormatInfo并将该CurrencySymbol属性设置为"".当然,您应该检查它是否也以您想要的方式处理负数.
例如:
using System;
using System.Globalization;
class Test
{
static void Main()
{
NumberFormatInfo nfi = CultureInfo.CurrentCulture.NumberFormat;
nfi = (NumberFormatInfo) nfi.Clone();
Console.WriteLine(string.Format(nfi, "{0:c}", 123.45m));
nfi.CurrencySymbol = "";
Console.WriteLine(string.Format(nfi, "{0:c}", 123.45m));
}
}
Run Code Online (Sandbox Code Playgroud)
另一种选择当然是使用自定义数字格式字符串 - 这取决于您是否真的想要镜像货币的外观,只是没有符号,或控制数字的确切位置.
Luk*_*keH 57
string forDisplay = currentBalance.ToString("N2");
Run Code Online (Sandbox Code Playgroud)
Gar*_*ler 10
你有没有尝试过:
currentBalance.ToString("#,##0.00");
Run Code Online (Sandbox Code Playgroud)
这是长期相当于:
currentBalance.ToString("N2");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70171 次 |
| 最近记录: |