.net - 将字符串解析为 float 的最佳方法是 ","和 "."作为分数分隔符? (对于小于 5 的数字)

标签 .net parsing internationalization floating-point

这有点与 my previous 有关问题,但不是真的。 我有一个我不了解文化的输入。所以它可以同时使用 ',' 和 '.'作为分数的分隔符。但是这个数字永远不会大于 5,所以我们可以确定是否有分隔符,它将用于分数。

我正在查看 TryParse 方法。它接受 NumberStyles 参数。但我没有看到任何关于分数分隔符之类的东西..

我是又错过了什么,还是有更好的方法来实现我的目标?

最佳答案

试试这个:

float.TryParse(myString.Replace(',', '.'), out myfloat);

EDIT:正如 Jon 所说,推荐以下方式:

float.TryParse(myString.Replace(',', '.'), 
               System.Globalization.NumberStyles.Float, 
               System.Globalization.NumberFormatInfo.InvariantInfo, 
               out myFloat);

关于.net - 将字符串解析为 float 的最佳方法是 ","和 "."作为分数分隔符? (对于小于 5 的数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/388789/

相关文章:

javascript - 在元素名称发生变化的循环中解析 json

php - 我应该考虑将 Hadoop 用于新的 PHP 应用程序吗?

javascript - 如何使用 FormattedMessage 将对象转换为字符串以使用 REACTJs 在 d3.js 图表中呈现标签?

testing - 使用 EC2 进行验证测试

c# - 如何计算 C# 中两个给定日期之间的实际月份差异(日历年而不是近似值)?

c# - System.Random 构造函数中的错误?

java - 使用返回不同类型的 SpelExpressionParser 解析表达式的方法

Json 解析 "Invalid class typecast"问题。 [德尔福XE7]

c# - 如何在 XAML 中分配 Control 类型的属性 - 错误

c# - 比 Marshall.QueryInterface 更简洁的编码方式?