首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3.5和4.5框架与xp计算机中的c# Covert.ToDecimal差异

3.5和4.5框架与xp计算机中的c# Covert.ToDecimal差异
EN

Stack Overflow用户
提问于 2013-07-02 23:22:00
回答 2查看 140关注 0票数 0

我需要你的帮助。

下面的代码在安装了3.5和4.5 .NET框架的Win7/Win8机器上运行良好。

代码语言:javascript
复制
CultureInfo info = CultureInfo.CreateSpecificCulture("hr-HR");
string ui = txtUkupanIznos.Text.Trim();
decimal pvalue;

if (decimal.TryParse(ui, NumberStyles.Any, info, out pvalue))
{
    decimal poreznaStopa = 0.00m;
    decimal ukupanIznos = 0.00m;
    try
    {
        poreznaStopa = Convert.ToDecimal(txtstopa.Text.Replace(".", ","), info);
        ukupanIznos = Convert.ToDecimal(ui.Replace(".", ","), info);
    }
    ...

但是在安装了.NET Framework3.5 SP1的XP机器上,这会抛出一个FormatException,所以我需要删除Replace(".", ",")

为什么?

EN

回答 2

Stack Overflow用户

发布于 2013-07-02 23:27:37

我的猜测是为克罗地亚定义的区域设置可能在这些Windows版本之间发生了变化。如果您在MSDN中运行示例代码以输出三台不同PC上的设置,您会看到数字格式是什么?

票数 4
EN

Stack Overflow用户

发布于 2013-07-02 23:28:56

在Windows Vista之前,这种文化很可能没有定义。我猜hr-HR在旧版操作系统中可能没有任何意义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17429490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档