加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#float.tryparse为法国文化

发布时间:2020-12-16 05:28:21 所属栏目:百科 来源:网络整理
导读:我有一个用户输入,可以包含从3.06 OR 3,06的浮点值 我们所在的文化是法语,因此当用户输入3.06时,我在该值上运行一个float.tryParse,它不会被转换为3.06变成一个新的变量(float类型) // inputUsedAmount.Value from UI is : 3.06float usedAmount = 0.0f;floa
我有一个用户输入,可以包含从3.06 OR 3,06的浮点值
我们所在的文化是法语,因此当用户输入3.06时,我在该值上运行一个float.tryParse,它不会被转换为3.06变成一个新的变量(float类型)
// inputUsedAmount.Value from UI is : 3.06
float usedAmount = 0.0f;
float.TryParse(inputUsedAmount.Value,out usedAmount);
// returns false

我可以简单地从UI中输入的金额替换“”.到“,”,但是有没有通过文化这样做的优雅/更好的方式?
谢谢

解决方法

您可以使用采用格式提供程序的 overload.您可以通过法国文化信息:
string value;
NumberStyles style;
CultureInfo culture;
double number;

value = "1345,978";
style = NumberStyles.AllowDecimalPoint;
culture = CultureInfo.CreateSpecificCulture("fr-FR");
if (Double.TryParse(value,style,culture,out number))
   Console.WriteLine("Converted '{0}' to {1}.",value,number);
else
   Console.WriteLine("Unable to convert '{0}'.",value);
// Displays:
//       Converted '1345,978' to 1345.978.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读