【问题标题】:From textbox to decimal value then into access database in c#从文本框到十进制值然后进入 c# 中的访问数据库
【发布时间】:2010-01-11 00:08:22
【问题描述】:

我正在从 textbox1 读取一个十进制值,需要将它插入到我的数据库中的一个十进制字段中。

我对“,”和“。”有疑问。所以首先我用“。”替换“,”。但不幸的是,如果我在文本框中输入 1.34,它会在 db 中变为 134.00。

string text = textBox1.Text;
text = text.Replace(",", ".");
decimal total = decimal.Parse(text);

我该如何解决这个问题?

【问题讨论】:

  • 这个问题和ms-access一点关系都没有。

标签: c# ms-access textbox decimal


【解决方案1】:

怎么样:

CultureInfo en_us = new CultureInfo("en-US");
decimal value = Decimal.Parse(text, en_us);

【讨论】:

  • 替换后文本框值为1.6时,decimal.parse值变为16后
  • 没有文化信息。如何设置此设置?
  • 这在某些语言上会失败。见codinghorror.com/blog/archives/001075.html
  • 对不起,但是;字符串文本 = textBox_BirimFiyat.Text;十进制 birim_fiyat = decimal.Parse(text.Replace(",","."), new System.Globalization.CultureInfo("tr-TR"));仍然在解析后,13.4 的值变成了 134 :(
  • 我不明白问题出在哪里。十进制 birim_fiyat = decimal.Parse(text, new System.Globalization.CultureInfo("en-us"));而文本为 13.45 birim_fiyat 变为 1345.00,因为我在 db 的字段中设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多