我有这个字符串“45043”。如何将其转换为十进制450.43(我想使用cultureinfo)
TKS
答案 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
}