格式化字符串编号

时间:2012-09-21 09:36:23

标签: c# string format currency

我想格式化一个字符串编号。例如:

double number="118176";

应该看起来像1181.71或1181,71。 我找不到任何格式类型。我尝试了一些格式类型ToString("#,0"),但它没有用。

感谢您的任何建议。

4 个答案:

答案 0 :(得分:0)

请参阅此页面上的定点(假设.net):http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

你必须首先除以100。

答案 1 :(得分:0)

首先:double变量不能接受字符串。但除此之外,这样的事情应该会有所帮助:

double number = 1181.76;
string output = String.Format("{0:d2}", number);

这将获取数字,并使用带有2位小数的十进制数字格式从中创建一个字符串。

你没有说的是为什么你期望整数118176神奇地变成一个带有两位小数的双精度?唯一的方法是

double number = 118176;
string output = String.Format("{0:d2}", number / 100.0);

修改
做你在评论中描述的内容有点复杂:

string priceString = nodeFareList.SelectSingleNode("GenQuoteDetails/TotAmt").InnerText; 
double priceDouble = Convert.ToDouble(priceString) / 100.0;
price.InnerHtml += String.Format("{0:c}", priceDouble);

这会将priceDouble中的数字转换为字符串,其值的格式类似于货币。如果您不想要货币符号,请使用以下内容:

price.InnerHtml += String.Format("{0:d2}", priceDouble);

答案 2 :(得分:0)

如果是Java,请使用以下代码。

1)首先定义十进制格式实例。

DecimalFormat decimalFormat = new DecimalFormat(“####。##”);

2)然后将小数值传递给'format'方法

String dummyString = decimalFormat.format(pressureValue).toString()

其中pressureValue - 十进制数

希望这会有用。

答案 3 :(得分:0)

我想,你要找的是:

String.Format("{0:0,0.0}", 12345.67);     
String.Format("{0:0,0}", 12345.67);

有关详细信息,请参阅here