美文网首页
NSNumberFormatterCurrencyStyle 转

NSNumberFormatterCurrencyStyle 转

作者: 爱你zzp | 来源:发表于2018-03-01 17:43 被阅读0次
客户反应了一个问题,进入充值页面,应用崩溃,这就很严重,在客户那边100%复现的问题,在我们这边却复现不出来
友情提示:通篇废话,末尾结论

我们心急如焚,开始排查问题。
1.首先我们从集成的友盟中定位到了错误信息

  -[NSTaggedPointerString substringWithRange:]: Range {0, 18446744073709551614} out of bounds; string length 1

2.根据错误信息,我们很容易得到结论String越界了

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
//转换为货币形式
formatter.numberStyle = NSNumberFormatterCurrencyStyle;

NSString *string = [formatter stringFromNumber:[NSNumber numberWithDouble:temp/10000]];
//此方法为去除前面的金钱符号
string = [string moneyFormate];
string = [string substringWithRange:NSMakeRange(0, string.length-3)];
NSString *tempDayL = [NSString stringWithFormat:@"%@",string];

3.如果想单纯的解决问题,我们很容易随便应付一下

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
//转换为货币形式
formatter.numberStyle = NSNumberFormatterCurrencyStyle;

NSString *string = [formatter stringFromNumber:[NSNumber numberWithDouble:temp/10000]];
//此方法为去除前面的金钱符号
string = [string moneyFormate];
if (string.length > 3) {
    //添加判断,防止越界
    string = [string substringWithRange:NSMakeRange(0, string.length-3)];
}
NSString *tempDayL = [NSString stringWithFormat:@"%@",string];

4.但是很显然,不找到根本原因,我们不会心安,首先我们假设数据的问题,也就是temp的问题,我们试了各种精度值,包括最容易出问题的精度值,也从-10000循环到了10000,不可思议的是,没有任何问题,可以大致排除数据的问题了。

5.我们像一个无头苍蝇一样找可能导致的问题。。。。。。

6.还是不墨迹了,在一个客户偶然的回答下,我们知道了客户是日本运营商,在我的脑海中迅速冒出了“日本”“货币”,然后我们迅速模拟日本的地区,进入充值,啪,崩了,我们高兴坏了。。。

7.通常货币形式,会返回类似 ¥5.00这样的格式,去掉金钱符号,substringWithRange:NSMakeRange(0, string.length-3) 所起的作用是取小数点之前的数,结果数为5,这就是我们要使用的数字

<a id="jump">aaa</a>8.但是在日本货币形式,日本的货币是没有小数点的,那我们的方法肯定会崩溃,知道了问题,我们就好解决了。

通篇全是废话,我们不应该使用定值来处理我们了解的事情,因为凡事没有绝对,还是相信电脑的逻辑吧!

相关文章

  • NSNumberFormatterCurrencyStyle 转

    客户反应了一个问题,进入充值页面,应用崩溃,这就很严重,在客户那边100%复现的问题,在我们这边却复现不出来 友情...

  • NSNumberFormatter

    NSNumberFormatterCurrencyStyle 和 NSNumberFormatterCurrenc...

  • 转,转,转

    其实,过年就是地球公转又多转了一圈而已;而每一个白昼和黑夜的更替只是地球又转了一圈罢了。人生在世,就是辗转反侧,度...

  • 转?转!~转~

    这是什么破任务 拽什么你 你装什么 还要怎样转 就一个这个东西 还要花心思这样对待 当我的时间是辣鸡吗 当我的精力...

  • 转呀转 转呀转

    看着闪闪的标识 脑子里真空的什么都不剩下 保鲜袋上的生产日期 怎么找也找不到 明天的气温貌似要下调 太阳要和月亮商...

  • 转呀,转呀,转呀转。

    如果养成了习惯, 那么就会在固定的时间去转。 就像我这样, 一不小心就这样了。 嘎嘎嘎, 笑出鸭叫声。 不是我有多...

  • 山转——水转——人转——心转

    山不转水转,水不转人转,人不转心转。 这是早晨跑步时听的一篇文章中印象最深的一句话。 山不转那水在转 ,水不转那云...

  • 转啊转

    在地铁的车厢里,我会痴痴地望向一头。 等待它进入弯道,呈现渐渐弯曲的视觉。 这让我短暂入迷,像眺无尽的时空隧道。 ...

  • 转啊转

    在地铁的车厢里,我会痴痴地望向一头。 等待它进入弯道,呈现渐渐弯曲的视觉。 这让我短暂入迷,像眺无尽的时空隧道。 ...

  • 转啊转

    睁眼 阳光乍泻 不用说 地球又要带着我一起运动 在我面前直着身子匀溜溜地自转 和我一块从这儿到那儿来回走一段距...

网友评论

      本文标题:NSNumberFormatterCurrencyStyle 转

      本文链接:https://www.haomeiwen.com/subject/hocnxftx.html