0

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

4

5 回答 5

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 );
于 2009-04-03T16:07:43.370 回答
1

只需将其除以 100.0。

x = int(x)
x /= 100.0
于 2009-04-03T16:08:47.063 回答
1

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

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

这假设如果它是 2 位数字,您需要前导零。

于 2009-04-03T16:11:07.340 回答
1

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

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

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

double.Parse(value) / 100.0
于 2009-04-03T16:13:10.407 回答
0

十进制 str=12345;
(str/100).ToString("F");

于 2009-04-03T16:43:00.493 回答