- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到了代表 double 的字符串值。 (例如“1.23”)。始终带有“.”。
如果你运行代码:
double dDouble =0;
string sDemo ="1.23";
double.TryParse(sDemo,out dDouble));
它将 1.23 返回给 dDouble 变量。
如果我切换到另一种语言,将“,”作为“。” .... 我得到 123.0 作为 dDouble。
我如何确保它始终为 1.23 ...
double dDouble =0;
string sDemo ="1.23";
double.TryParse(sDemo,System.Globalization.NumberStyles.Any,
System.Globalization.CultureInfo.InvariantCulture, out dDouble));
但我不确定这是否会永久解决问题。
我刚试过
最佳答案
10 年前我会这样解决(不要那样做):
sDemo = sDemo.Replace(",",".");
现在
// to string
var text = someDouble.ToString(NumberFormatInfo.InvariantInfo);
// and back
var number = double.Parse(text, NumberFormatInfo.InvariantInfo);
关键点是使用相同文化。如果您转换值供内部使用(例如,将 double
值作为文本的一部分传递)- 使用不变区域性。但是,如果您想将它显示给用户然后读取用户输入,那么仍然使用相同的区域性:如果您没有为 ToString
指定区域性,那么不要不要为 Parse
指定它,如果你这样做了,那么再做一次。
关于c# - 如何编写与语言无关的 double.tryparse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27059854/
C# 中的 Single.TryParse 和 float.TryParse 有什么区别? float a, b; float.TryParse("0.01", out a); Single.TryP
在 C# 中,为什么 int.TryParse 不能解析数字分组(但 double.TryParse 可以)? int i1 = 13579; string si1 =
我已按值或其名称将代码写到TryParse枚举,如下所示。如何扩展此代码以包含具有Flags属性的枚举? public static bool TryParse(this T enum_typ
我构建了一个玩具电子表格来帮助学习 F#。当我处理新单元格的文本时,我将其存储为可识别类型。为了解析它,我觉得我应该能够做类似的事情: let cv = mat
我有一个枚举(假设是 DemoEnum),我想解析该枚举的值。我正在写 DemoEnum value; if(DemoEnum.TryParse("input", out value)) { t
我构建了一个玩具电子表格来帮助学习 F#。当我处理新单元格的文本时,我将其存储为可识别类型。为了解析它,我觉得我应该能够做类似的事情: let cv = mat
我有以下代码。 using System; class program { static void Main() { string StrNumber = "100TG
这个问题在这里已经有了答案: How to use int.TryParse with nullable int? [duplicate] (5 个答案) 关闭 4 年前。 我想制作一个方法 int
今天我读了一篇文章,其中写道我们应该始终使用 TryParse(string, out MMM) 进行转换而不是 Convert.ToMMM()。 我同意这篇文章,但在那之后我陷入了一种情况。 当字符
我需要验证某些变量是否可以创建有效的日期时间,如果可以,则在不抛出异常的情况下忽略它。 我有以下代码 int y, m, d, h, mi, s, tz; ogrFeature.GetFieldAs
我正在尝试运行 NUnit 测试来搜索字符串中的数字。我正在使用 TryParse,但它给了我一个错误:Error1:'int.TryParse(string, out int)' 的最佳重载方法匹配
我需要检查一个对象是否可以转换为特定的数据类型,并想出了这个: public static bool TryParseAll(System.Type typeToConvert, object val
Facebook API 函数 FacebookOAuthResult.TryParse() 未解析。我为 TryParse 函数提供了正确的输入参数。我已经在该项目的 Visual Studio 引
我是编程新手,我正在尝试创建一个循环,其中 while 条件基于变量,但我不知道它的正确语法。这就是我想要做的,即使它可能不被允许......我认为。 using System; using Syst
我知道它不会抛出异常,因此它可能会明显更快,而且,您很可能使用它来将输入转换为您可以使用的数据,所以我认为它没有被这样使用通常会在性能方面产生如此大的差异。 无论如何,我看到的例子都是 if/else
我想尝试将 string 解析为 DateTime?,如果失败,则将值设置为 null。我能想到的唯一方法如下,但它看起来不是很整洁。 DateTime temp; DateTime? whatIAc
在我的应用程序中,我有一个文本框 - txtDiscount,管理员可以在其中为某个用户设置折扣百分比,也可以不设置。在后端我想保存数据所以现在我有这个: double? discount = nul
我尝试按如下方式解析来自外部系统的日期时间戳: DateTime expiration; DateTime.TryParse("2011-04-28T14:00:00", out expiration
我在让 TryParse 为我正常工作时遇到问题。我有一个值列表,我几乎可以肯定这些值是有效的(因为它们来 self 们系统中的另一个组件),但我想确保有适当的错误处理。 这是我的值(value)观的
我想覆盖 bool 的 TryParse 方法来接受"is"和“否”。我知道我想使用的方法(如下),但我不知道如何覆盖 bool 的方法。 ... bool TryParse(string value
我是一名优秀的程序员,十分优秀!