我正在尝试转换一个数字,所以它看起来像金钱格式。 我需要拿258000并使其成为2,580.00或25000并使其成为250.00或360并使其成为3.60 这就是我正在使用的,但它在所有数字的末尾添加“.00”,使得2500 2500.00但它应该是25.00。
Value = string.Format("{0:##,###.00}", Convert.ToDecimal(Value));
答案 0 :(得分:2)
在我看来,你只是错过了这样一个事实:你可以在解析它之后将用户的输入除以100:
using System;
class Program
{
static void Main(string[] args)
{
string input = "2500";
decimal cents = decimal.Parse(input); // Potentially use TryParse...
decimal dollars = cents / 100m;
string output = dollars.ToString("0.00");
Console.WriteLine(output); // 25.00
}
}
请注意,关于如何显示货币值存在复杂的文化规则 - 我建议使用C
格式说明符,使用之类的<{1>} 无论是什么用户期望,但NumberFormatInfo.CurrencySymbol
设置为空字符串。
您还应该考虑在解析用户输入时使用哪种文化 - 如果他们决定使用分组分隔符或小数分隔符,则会显着影响结果。他们总是输入一个整数吗?如果是这样,也将其解析为整数。
答案 1 :(得分:1)
double valueOriginal = 260;
Response.Write( (valueOriginal / 100).ToString("C"));
260 =(206/100) 然后 (百分之二百六十零)的ToString( “C”);