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

目录
相关文章
|
4月前
|
C语言
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
这篇文章展示了如何使用栈(包括顺序栈和链栈)实现将十进制数值转换成八进制数值的方法,通过C语言编程演示了两种栈的实现方式和使用场景。
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
|
4月前
|
C# 图形学
小功能⭐️C#控制小数点后位数的方法
小功能⭐️C#控制小数点后位数的方法
|
5月前
|
JavaScript
vue组件封装 | 数字输入框(限制只能输入数字的input,可以指定小数点位数,最大值、最小值)
vue组件封装 | 数字输入框(限制只能输入数字的input,可以指定小数点位数,最大值、最小值)
307 7
|
7月前
|
算法
实现一个标准数字字符串四舍五入截取不指定位数的小数
实现一个标准数字字符串四舍五入截取不指定位数的小数
49 0
|
7月前
|
C#
C#中小数保留固定位数
C#中小数保留固定位数
110 1
打印1到最大的n位数
1.题目概述 2.题解
53 0
解决 c++ 字符转转浮点型数据且保留所有小数
解决 c++ 字符转转浮点型数据且保留所有小数
判断数字位数
判断数字位数
81 0
|
C++
C++ 输出特定位数小数
C++ 输出特定位数小数
148 0
|
JavaScript
layui的totalRow默认为两位小数,按需要修改为整数
layui的totalRow默认为两位小数,按需要修改为整数
674 0

热门文章

最新文章