gpt4 book ai didi

c# - .net 核心应用程序在 linux docker 容器中解析小数

转载 作者:行者123 更新时间:2023-11-30 15:16:17 24 4
gpt4 key购买 nike

以下代码在 .net core 2.0.0 应用程序中运行良好,当该应用程序在 Windows 开发机器上运行时。当应用程序部署在 linux docker 容器中时,它失败并显示异常消息:System.FormatException: 'Input string was not in a correct format.'

为什么?解决方法是什么?

class Program {
static void Main(string[] args) {
var value = "$291.00";
var valueAsDecimal = decimal.Parse(value, System.Globalization.NumberStyles.Any);
Console.WriteLine(valueAsDecimal);
Console.ReadLine();
}
}

最佳答案

这是有效的代码。我不得不手动设置正确的文化。感谢 Richard Schneider 和 Evk 提出的意见。

class Program {
static readonly CultureInfo USEnglish = new CultureInfo("en-US");
static void Main(string[] args) {
var value = "$291.00";
var valueAsDecimal = decimal.Parse(value, System.Globalization.NumberStyles.Any, USEnglish);
Console.WriteLine(valueAsDecimal);
Console.ReadLine();
}
}

看起来在 docker 容器上运行的默认文化 FROM microsoft/dotnet:2.0-runtime AS base 是不变的文化:

enter image description here

关于c# - .net 核心应用程序在 linux docker 容器中解析小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com