zoukankan      html  css  js  c++  java
  • iOS 当请求到的数据是double类型,会失去精准度,并且去掉小数点后的0

    首先请求到的数据都会变成字符串,先将字符串转化为double类型

    double fdouble = [str doubleValue];

    然后再设置小数点后的位数

    [NSString stringWithFormat:@"%.1f", fdouble];

     重点:  提供一个NSSing的扩展,传入需要保留的小数位,返回字符串。并且去掉末尾的0.

    #import <Foundation/Foundation.h>
    
    @interface NSString (EliminateZero)
    
    //   integer  必传
    - (NSString *)eliminateZeroWithDouble:(NSInteger)integer;
    
    @end
    
    
    
    #import "NSString+EliminateZero.h"
    
    @implementation NSString (EliminateZero)
    
    - (NSString *)eliminateZeroWithDouble:(NSInteger)integer{
        
        NSString *str = [self copy];
        
        double fdouble = [str doubleValue];
        
        NSString *ftotal;
        switch (integer) {
            case 1:
                ftotal = [NSString stringWithFormat:@"%.1f", fdouble];
                break;
            case 2:
                ftotal = [NSString stringWithFormat:@"%.2f", fdouble];
                break;
            case 3:
                ftotal = [NSString stringWithFormat:@"%.3f", fdouble];
                break;
            case 4:
                ftotal = [NSString stringWithFormat:@"%.4f", fdouble];
                break;
            case 5:
                ftotal = [NSString stringWithFormat:@"%.5f", fdouble];
                break;
            default:
                break;
        }
    
        while ([ftotal hasSuffix:@"0"]) {
            ftotal = [ftotal substringToIndex:[ftotal length]-1];
        }
        
        if ([ftotal hasSuffix:@"."]) {
            ftotal = [ftotal substringToIndex:[ftotal length]-1];
        }
        
        return ftotal;
        
    }
    
    
    @end

     

     

     

  • 相关阅读:
    业务对象(BO)设计
    业务对象和BAPI
    LSMW应用
    BDC、CATT批量数据维护
    ABAP RFC远程调用
    LIST动态表格画线(动态列)
    ALV详解:OO SALV
    ALV详解:OO ALV
    ALV详解:Function ALV(二)
    ALV详解:Function ALV(一)
  • 原文地址:https://www.cnblogs.com/weipeng168/p/6203531.html
Copyright © 2011-2022 走看看