我得到的输出为756.4
,但这等于756.40
我知道但仍然希望将其保存为756.40
,那么如何将其转换为必需的一个
忘记提及我的totalamount
被声明为float
Amount[index]
//此数量被声明为arraylist
totalAmount += float.Parse(Amount[index].ToString());
在循环之后完成所有附加后,我想得到所需的一个
转换示例代码
if (totalAmount.ToString().Contains("."))
{
string[] b = totalAmount.ToString().Split('.');
Dollars = b[0].ToString().PadLeft(10, (char)48);
cents = b[1].ToString().PadRight(2, (char)48).Substring(0, 2);
}
else
{
Dollars = totalAmount.ToString().PadLeft(10, (char)48);
cents = "00";
}
FormattedTotalAmounts = Dollars + cents; // Here i am getting the output as i said
答案 0 :(得分:5)
string totalAmountFormatted = totalAmount.ToString("F2");
这会将总金额格式化为带有两个小数位(F
)的定点数(2
)。有关这些格式字符串的详细信息,请参阅以下两篇MSDN文章:
答案 1 :(得分:1)
String.Format("{0:0.00}", 756.4);
答案 2 :(得分:0)
试试这个:
decimal t = 756.40m;
MessageBox.Show(t.ToString("0.00"));
答案 3 :(得分:0)
首先,我认为如果这是财务数据,您应该使用Decimal
。
其次,数值没有尾随空格,字符串没有。
编辑:添加了C#2.0标签 - 删除了LINQ。
Decimal total;
foreach (object oAmount in Amount)
{
Decimal amount = (Decimal)oAmount;
total += amount;
}
String FormattedTotalAmounts = total.ToString("G");
将“F”传递给ToString也同样有效。
编辑回复评论。
String FormattedTotalAmounts = total.ToString("0000000000.00");
左边10 0,右边2 0。
答案 4 :(得分:0)
您可以在ToString中使用数字格式,如
SomeVar.ToString("#,##0.00")
答案 5 :(得分:0)
在您的代码中更改此
if (totalAmount.ToString().Contains("."))
{
string[] b = totalAmount.ToString().Split('.');
Dollars = b[0].ToString().PadLeft(10, (char)48);
cents = b[1].ToString().PadRight(2, (char)48).Substring(0, 2);
}
else
{
Dollars = totalAmount.ToString("F2").PadLeft(10, (char)48);//Necessary change
cents = "00";
}
FormattedTotalAmounts = Dollars + cents;