-3

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

double number="118176";

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

感谢您的任何建议。

4

4 回答 4

0

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

不过,您必须先除以 100。

于 2012-09-21T09:44:05.633 回答
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);
于 2012-09-21T09:44:56.223 回答
0

在 Java 的情况下使用可以参考下面的代码。

1) 首先定义 Decimal Format 实例。

DecimalFormat decimalFormat = new DecimalFormat("####.##");

2)然后将十进制值传递给'format'方法

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

其中 pressureValue - 十进制数

希望这会有用。

于 2012-09-21T09:46:05.517 回答
0

我认为,您正在寻找的是:

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

有关详细信息,请参见此处

于 2012-09-21T09:46:48.893 回答