如何实现后台返回的数据有.00或.0,显示时若是整数不显示小数点和小数电以后的0,小数显示小数点

简介: 如何实现后台返回的数据有.00或.0,显示时若是整数不显示小数点和小数电以后的0,小数显示小数点

如何实现后台返回的数据有.00或.0,显示时若是整数不显示小数点和小数电以后的0,小数显示小数点。

解决方案,识别出这种整数,把它截去:

-(NSString *)getIntStrWithStr:(NSString *)str
{
    if(isCommonUnitEmptyString(str))
    {
        return @"";
    }
    if([str rangeOfString:@"."].location == NSNotFound)
    {
        return str;
    }
    NSInteger i = str.length-1;
    for(; i > 0; i--)
    {
        NSString *str1 = [str substringWithRange:NSMakeRange(i, 1)];
        if(!([str1 isEqualToString:@"0"] || [str1 isEqualToString:@"."]))
        {
            break;
        }
    }
    if(i+1 == str.length)
    {
        return str;
    }
    else
    {
        return [str substringToIndex:(i+1)];
    }
}

//判断字符串为空
static inline BOOL isCommonUnitEmptyString(NSString *str) {
    return ([str isKindOfClass:[NSNull class]] || str == nil || ![str isKindOfClass:[NSString class]] || [str length] < 1);
}

使用的方法

- (void)setModel:(LCNewYearDinnerModel *)model {
    _model = model;
    model.cost_price = [self getIntStrWithStr:model.cost_price];
    model.price = [self getIntStrWithStr:model.price];
    [self.originPrice setText:[NSString stringWithFormat:@"门店价格:¥%@", model.cost_price]];
    [self.price setText:[NSString stringWithFormat:@"¥%@", model.price]];
}

后台返回的数据:

  errcode = 1,
  data =  (
      {
      price = "1688.00",
      cost_price = "1888.00",
      use_start_time = "12.20",
      use_end_time = "01.30",
      suppliers_name = "兰小溪特色美食餐厅",
      goods_name = "年夜饭",
      goods_id = 132,
    },
  ),

目录
相关文章
|
1月前
|
存储 Java
BigDecimal类型的数据如何保留小数点后四位
BigDecimal类型的数据如何保留小数点后四位
34 0
|
24天前
|
算法
实现一个标准数字字符串四舍五入截取不指定位数的小数
实现一个标准数字字符串四舍五入截取不指定位数的小数
22 0
|
1月前
|
C#
C#中小数保留固定位数
C#中小数保留固定位数
68 1
|
11月前
用户输入数字,如果数字小于10,则在前面补0,比如01,09,如果数字大于10,则不需要补,比如 20
用户输入数字,如果数字小于10,则在前面补0,比如01,09,如果数字大于10,则不需要补,比如 20
117 0
|
12月前
|
C++
解决 c++ 字符转转浮点型数据且保留所有小数
解决 c++ 字符转转浮点型数据且保留所有小数
|
12月前
判断数字位数
判断数字位数
46 0
|
C++
C++ 输出特定位数小数
C++ 输出特定位数小数
95 0
|
JavaScript
layui的totalRow默认为两位小数,按需要修改为整数
layui的totalRow默认为两位小数,按需要修改为整数
400 0
|
C++ iOS开发
【C++之标准类型数据的格式输出1】输入一批数值,要求保留3位小数,且上下行小数点对齐
【C++之标准类型数据的格式输出1】输入一批数值,要求保留3位小数,且上下行小数点对齐
04:输出保留3位小数的浮点数
04:输出保留3位小数的浮点数
85 0