我有下面的代码:解析希腊十进制数
decimal kwh = decimal.Parse(textBox1.Text,
NumberStyles.AllowDecimalPoint,
NumberFormatInfo.CurrentInfo);
decimal sale_price = decimal.Parse(textBox2.Text,
NumberStyles.AllowDecimalPoint,
NumberFormatInfo.CurrentInfo);
decimal totalamnt = sale_price * kwh;
我的问题是,当区域设置被设置为希腊语,它不小数点后接受任何数字,当U与输入它“,”
我试着InvariantInfo
为了用“。”输入小数,但又不接受它们。
有趣的是,当你进入控制面板 - >区域和语言 - >附加设置时,你可以设置你想要的小数点和数千的操作符。如果您将小数点符号设置为“。”.......一切正常运行。
无论您使用InvariantInfo并输入为“”或者,如果你CurrentInfo并输入它作为“”
这是推动我疯了我试过很多方法,不仅解析法,只有这样,才能大概是将小数点符号设置为“。”但我不能绕过改变人们的区域设置,因为我可能搞砸了他们正在使用的其他希腊软件。
请人们帮助我..我在计算机上用希腊语语言失去了我的想法。我会真正感谢和感谢任何人可以帮助我解决这个问题
(我将我的区域设置为希腊语)插入语句我导入0.25作为sale_price和5.26作为kwh。我正在使用一个断点,我看到使用InvariantInfo的变量的值是0.25和1.2。当他们存储在数据库中存储为0和5.当我设置十进制运算符在区域设置“。”而不是“,”我导入0.25和5.65,他们正确存储。当我将区域设置设置为英语我们,我插入0.25和5.65他们正确存储
请发布您尝试解析的小数的例子。 – Oded 2012-04-21 08:11:16
这与MySQL有什么关系?你的标题和标签提到了它,但是在问题本身中我看不到任何与它有关的东西......请说明你如何试图使用InvariantInfo,因为那应该没问题。 – 2012-04-21 08:11:59
该软件正在将值导入到MySql DB字符串中initialquery =“INSERT INTO SOLAR_INCOME(ID,E_DATE,KWH,SALE_PRICE,AMMOUNT,T_ID)VALUES('”+ id +“','”+ date.ToString(“yyyy: MM:dd“)+”','“+ kwh +”','“+ sale_price +”','“+ totalamnt +”','“+ tid +”')“; myMySqlConnection.Open(); MySqlCommand command1 = new MySqlCommand(initialquery,myMySqlConnection); command1.ExecuteNonQuery(); – 2012-04-21 09:41:01