.Net Core 迁移之坑二 《ToString("F") 输出与windows不一致问题》
大家都知道 ToString("F") 是干什么的
这里我还是介绍一下
格式字符串采用以下形式:Axx,其中 A 为格式说明符,指定格式化类型,xx 为精度说明符,控制格式化输出的有效位数或小数位数,具体如下:
格式说明符
说明 | 示例 | 输出 | |
C | 货币 | 2.5.ToString("C") | ¥2.50 |
D | 十进制数 | 25.ToString("D5") | 00025 |
E | 科学型 | 25000.ToString("E") | 2.500000E+005 |
F | 固定点 | 25.ToString("F2") | 25.00 |
G | 常规 | 2.5.ToString("G") | 2.5 |
N | 数字 | 2500000.ToString("N") | 2,500,000.00 |
X | 十六进制 | 255.ToString("X") | FF |
F 这种固定点,应该大家很常用
其实在winserver 上面也不会出现这种事情,主要是最近迁移到 .net core,改完发布上测试环境,一切是多么的美好
就在我慢悠悠的看博客园的时候,测试来找我了,说PayPal支付失败.我当时就懵了,我自测过的啊,而且又在本地上面执行了一次,你看好好的,是不是测试环境有问题。测试就找运维去了
ps:我甩锅的水平不错吧 ( ̄▽ ̄)~*
结果不知道有多久,运维的兄弟过来了:兄弟,我环境初始化了好多次,都是开源的,我啥都没干啊,你能不能看看日志啊,看这运维兄弟那苦巴巴的眼神,好吧
我看了下PayPal的日志
{"name":"VALIDATION_ERROR","details":[{"field":"transactions.amount","issue":"Currency amount must be non-negative number, may optionally contain exactly 2 decimal places separated by '.', optional thousands separator ',', limited to 7 digits before the decimal point and currency which is a valid ISO Currency Code"}],"message":"Invalid request - see details","information_link":"https://developer.paypal.com/docs/api/payments/#errors","debug_id":"eecc8c8017432"}
Currency amount must be non-negative number, may optionally contain exactly 2 decimal places separated by。啥?金额必须是2个小数位,我是两个小数位啊
不信你看
这时候路过的大牛说了一句,你把 ToString("F2") 放linux上运行下看看
听了之后马上开搞 结果如下
还真是3个小数。后来就查了下msdn的文档,咨询了大牛,发现是文化差异导致的。解决方案就是无视文化差异
ToString("F") 的时候加上CultureInfo.InvariantCulture 属性就可以了,下图是 这个属性的意思
好了,下班了。手工回家
.Net Core 迁移之坑二 《ToString("F") 输出与windows不一致问题》的更多相关文章
- .NET Core 迁移躺坑记续集--Win下莫名其妙的超时
继上一集里说到遇到的各种问题并且弄了n个解决方案之后,特别是对于问题4的解决方案对于切换了HttpClientFactory 我用了你家netcore 2.1下专门解决之前HttpClient口病已久 ...
- .NET Core 迁移躺坑记
最近将自己负责的一个核心接口系统从.Net Framework迁移到了.Net Core. 整体过程,从业务层面说一般般吧(整体还好但还是搞的业务有感,没出严重故障)但是技术层面上感觉其实并没有达到要 ...
- .Net Core 迁移之坑一 《WebAPI Get请求参数传入输入带有[]不识别问题》
在Framwork 体系下 WebAPI项目 会有很多默认特性,例如:Get查询竟然支持三种数组查询方式 1.https://localhost:44390/api/values?status=1&a ...
- .NET CORE迁移踩坑
https://www.cnblogs.com/leolaw/p/10740678.html
- .Net Core迁移到MSBuild平台(二)
一.前言 在上一篇文章.Net Core迁移到MSBuild的多平台编译问题中,简单的讲了下新的项目配置文件中的节点配置,这篇我将用一些例子来详细讲下从project.json迁移到msbuild过程 ...
- EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)
前言 终于踏出第一步探索EF Core原理和本质,过程虽然比较漫长且枯燥乏味还得反复论证,其中滋味自知,EF Core的强大想必不用我再过多废话,有时候我们是否思考过背后到底做了些什么,到底怎么实现的 ...
- C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式
C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...
- Cookies 初识 Dotnetspider EF 6.x、EF Core实现dynamic动态查询和EF Core注入多个上下文实例池你知道有什么问题? EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)
Cookies 1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add(&qu ...
- NET Core迁移
向ASP.NET Core迁移 有人说.NET在国内的氛围越来越不行了,看博客园文章的浏览量也起不来.是不是要转Java呢? 没有必要扯起语言的纷争,Java也好C#都只是语言是工具,各有各的 ...
随机推荐
- Win7 x64安装Paramiko
先说一下我的环境: win7 x64 旗舰版.Python3.5.0.pip8.1.0 pip install paramiko时报错如下: 大概意思: blablabla... 反正大概意思就是少G ...
- 软工作业-wc(Python实现)
GitHub地址:GitHub PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 40 · Esti ...
- New Concept English three (26)
34w/m 54words No one can avoid being influenced by advertisements. Much as we may pride ourselves on ...
- Arcgis for Javascript实现两个地图的联动
今天在看天地图的时候,有一个多时相的地图显示功能,感觉很好玩,作为技术控的我晚上十点下班到家便是快十一点了,本来应该是睡觉了,但是,激动地心情不能平静,哎,算了,本着不熬夜的程序员不是好程序员的原则, ...
- Ubuntu 16.04 为 PHP7 添加 memcached 以及 redis 扩展
切换到 PHP 7 之后,网站的速度大幅提升,不过通常的扩展可能某一个就还没有支持 PHP7 Memcached 比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 m ...
- 前端基础之jQuery入门 01
jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交互, ...
- haroopad 语法高亮问题
<!DOCTYPE html> Untitled.html div.oembedall-githubrepos{border:1px solid #DDD;border-radius:4p ...
- C# 方法、类等的默认访问修饰符
C# 方法默认访问级别 : private C# 类默认访问级别 : internal 1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以 ...
- java多线程:synchronized和lock比较浅析
转载:http://www.toutiao.com/a6392135944652587266/?tt_from=weixin&utm_campaign=client_share&app ...
- CentOS 6+Hadoop 2.6.0分布式集群安装
1.角色分配 IP Role Hostname 192.168.18.37 Master/NameNode/JobTracker HDP1 192.168.18.35 Slave/DataNode/T ...