【问题标题】:Cast MySQL Decimal data type type to c# float data type将 MySQL Decimal 数据类型类型转换为 c# float 数据类型
【发布时间】:2014-07-18 12:21:34
【问题描述】:

我的 MySQL 数据库中有一个 Decimal 数据类型列,我在 C# 代码中使用 reader.Read() 读取它。现在我需要将其转换为 C# 浮点数据类型。我该怎么做:

float fl = (float)reader[9]; 抛出System.InvalidCastException

【问题讨论】:

  • reader[9] 的值究竟是多少?你的CurrentCulture 是什么?使用调试器。
  • 如果您在代码中设置Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us"); 并再次尝试原始代码会怎样?
  • @juergend d System.InvalidCastException

标签: c# mysql casting


【解决方案1】:

你可以尝试使用Convert.ToSingle方法

float fl = Convert.ToSingle(reader[9]);

【讨论】:

  • 这可行,但我想获得 236.89 而不是 236,89。代码中的一些编辑?
  • @gdrt94 如果您得到的是 236,89 而不是 236.89,那么您的机器的文化设置设置为法语或其他使用“,”作为小数分隔符的文化。您可以在控制面板 -> 区域和语言 -> 格式 -> 其他设置中查看这些设置...感兴趣的字段是十进制符号。如果您想开始处理地区差异,您可能需要更新您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 2012-10-18
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
相关资源
最近更新 更多