如何实现后台返回的数据有.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,
    },
  ),

目录
打赏
0
0
0
0
54
分享
相关文章
|
4月前
判断该数字是正数还是负数或是零
【10月更文挑战第15天】判断该数字是正数还是负数或是零。
76 2
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
这篇文章展示了如何使用栈(包括顺序栈和链栈)实现将十进制数值转换成八进制数值的方法,通过C语言编程演示了两种栈的实现方式和使用场景。
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
|
7月前
|
vue组件封装 | 数字输入框(限制只能输入数字的input,可以指定小数点位数,最大值、最小值)
vue组件封装 | 数字输入框(限制只能输入数字的input,可以指定小数点位数,最大值、最小值)
346 7
|
8月前
|
从键盘输入10个整数,输出最大值
从键盘输入10个整数,输出最大值
|
9月前
28.求任意一个整数的十位上的数字
28.求任意一个整数的十位上的数字
92 3
|
9月前
|
实现一个标准数字字符串四舍五入截取不指定位数的小数
实现一个标准数字字符串四舍五入截取不指定位数的小数
59 0
BigDecimal如何相除并保留小数后两位(多种方法比较可选)
BigDecimal如何相除并保留小数后两位(多种方法比较可选)
408 0
解决 c++ 字符转转浮点型数据且保留所有小数
解决 c++ 字符转转浮点型数据且保留所有小数
判断数字位数
判断数字位数
94 0
C++ 输出特定位数小数
C++ 输出特定位数小数
181 0

热门文章

最新文章