c# - .net 核心应用程序在 linux docker 容器中解析小数
问题描述
当应用程序在 Windows 开发机器上运行时,以下代码在 .net core 2.0.0 应用程序中运行良好。当应用程序部署在 linux docker 容器中时,它会失败并显示异常消息:System.FormatException:'输入字符串格式不正确。'
为什么?解决方法是什么?
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();
}
}
解决方案
货币符号是特定于语言环境的。你检查过文化设置是什么吗?
如果你总是想使用 '$' 和 '.' 然后使用格式提供者。
var valueAsDecimal = decimal.Parse(
value,
NumberStyles.Any,
new CultureInfo("en-AU");
推荐阅读
- javascript - 带有下拉菜单的可搜索输入
- xamarin.forms - xamarin 形式的应用程序到应用程序语音通话(VOIP)
- reactjs - 如何将我自己的图标导入我的函数 iconNameFromType?
- sql - 如何在合并或更新操作期间比较源表和目标表之间的三个列
- c++ - 是否可以使用 Qt5 处理硬链接?
- java - Kafka 无法为 java 12 解析 javax/xml/bind/* ClassNotFoundExeption?
- ruby-on-rails - 无法分配请求的地址 - “xyz.herokuapp.com”端口 28159 的绑定 (2) (Errno::EADDRNOTAVAIL)
- clojure - 如何在`jcmd中获取有关“内部异常”的更多详细信息
VM.info" 输出 - python - 计算模型连续预测相同标签的次数
- angular-schematics - NX Schematics,如何调用自己的原理图