字符串,不指向小数

时间:2010-09-14 22:17:16

标签: c#

我有这个字符串“45043”。如何将其转换为十进制450.43(我想使用cultureinfo)

TKS

4 个答案:

答案 0 :(得分:5)

string s = "45043";
decimal d = decimal.Parse(s) / 100;

(我不确定CultureInfo会在哪里进入。你想将decimal转换回string或类似的东西吗?)

答案 1 :(得分:2)

你有类似的东西:

string x = "45043";
double num = Double.Parse(s, CultureInfo.GetCultureInfo("de-DE").NumberFormat);

只需替换您想要的文化或动态推导它。

答案 2 :(得分:1)

使用CultureInfo?你的意思是在某些文化和其他时期使用逗号?

怎么样:

var str = "45043";
var strToDecimal = (decimal.Parse(str) / 100).ToString();
var strExplicit = (decimal.Parse(str) / 100).ToString(System.Globalization.CultureInfo.CurrentCulture.NumberFormat); // more explicit version of what's happening above.

答案 3 :(得分:0)

显示TryParse并使用CultureInfo

string input = "45053";
decimal result;

if (decimal.TryParse(input, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.CurrentCulture, out result))
{
    result /= 100M;
}
else
{
    // invalid input, handle in whatever way you deem appropriate
}