如何计算iOS中的浮点数后的位数? [英] How to calculate number of digits after floating point in iOS?

查看:192
本文介绍了如何计算iOS中的浮点数后的位数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



例如:

    如何计算iOS中浮点数的位数? >
  • 3.105应该返回3

  • 3.0应该返回0

  • 2.2应该返回1


更新:
我们还需要添加以下示例。因为我想知道小数部分的位数。


  • 1e-1应该返回1


  • 解决方案

    我使用的是以下内容:

      NSString * priorityString = [[NSNumber numberWithFloat:self.priority] stringValue]; 
    NSRange range = [priorityString rangeOfString:@。];
    int数字;
    if(range.location!= NSNotFound){
    priorityString = [priorityString substringFromIndex:range.location + 1];
    digits = [priorityString length];
    } else {
    range = [priorityString rangeOfString:@e-];
    if(range.location!= NSNotFound){
    priorityString = [priorityString substringFromIndex:range.location + 2];
    digits = [priorityString intValue];
    } else {
    digits = 0;
    }
    }


    How can I calculate the number of digits after the floating point in iOS?

    For example:

    • 3.105 should return 3
    • 3.0 should return 0
    • 2.2 should return 1

    Update: Also we need to add the following example. As I want to know number of digits in the fraction part.

    • 1e-1 should return 1

    解决方案

    What I used is the following:

    NSString *priorityString = [[NSNumber numberWithFloat:self.priority] stringValue];
        NSRange range = [priorityString rangeOfString:@"."];
        int digits;
        if (range.location != NSNotFound) {
            priorityString = [priorityString substringFromIndex:range.location + 1];
            digits = [priorityString length];
        } else {
            range = [priorityString rangeOfString:@"e-"];
            if (range.location != NSNotFound) {
                priorityString = [priorityString substringFromIndex:range.location + 2];
                digits = [priorityString intValue];
            } else {
                digits = 0;
            }
        }
    

    这篇关于如何计算iOS中的浮点数后的位数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆