如何格式化存储在字符串中的数字?

时间:2009-04-03 16:05:33

标签: string decimal

如果我将数字作为没有小数位的文本字符串,如何将其转换为2位小数,以便将12345转换为123.45?字符串可以是大于1的任何长度。

5 个答案:

答案 0 :(得分:1)

将其转换为十进制类型,然后除以100.

string stringVal = "12345";

decimal val = decimal.Parse( stringVal ) / 100M;

double val = double.Parse( stringVal ) / 100.0;

使用

将其转换回字符串
string newVal = string.Format( "{0:N}", val );

答案 1 :(得分:1)

将它除以100.0。

x = int(x)
x /= 100.0

答案 2 :(得分:1)

如果您确信它是数字且不想仔细检查,那么您可以避免转换:

if (stringVal.Length == 2)
{
    stringVal = "0." + stringVal;
}
else
{
    stringVal = stringVal.Insert(x.Length - 2, ".");
}

假设您想要一个前导零,如果它是2位数。

答案 3 :(得分:1)

如果您希望将结果作为字符串,则可以使用字符串操作(C#中的示例):

value.Substring(0, value.Length-2) + "." + value.Substring(value.Length-2)

如果您希望将结果作为数字,首先解析该值然后除以100:

double.Parse(value) / 100.0

答案 4 :(得分:0)

十进制str = 12345;
            (STR / 100)的ToString( “F”);