zoukankan      html  css  js  c++  java
  • Objective-C中NSString与int和float的相互转换

    NSString *tempA = @"123";

    NSString *tempB = @"456";

    1,字符串拼接

     NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB];

    2,字符转int

    int intString = [newString intValue];

    3,int转字符

    NSString *stringInt = [NSString stringWithFormat:@"%d",intString];

    4,字符转float

     float floatString = [newString floatValue];

    5,float转字符

    NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];

    四舍五入问题

    -(NSString *)notRounding:(float)price afterPoint:(int)position{

        NSDecimalNumberHandler* roundingBehavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown scale:position raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];

        NSDecimalNumber *ouncesDecimal;

        NSDecimalNumber *roundedOunces;

        

        ouncesDecimal = [[NSDecimalNumber alloc] initWithFloat:price];

        roundedOunces = [ouncesDecimal decimalNumberByRoundingAccordingToBehavior:roundingBehavior];

        [ouncesDecimal release];

        return [NSString stringWithFormat:@"%@",roundedOunces];

    }

    介绍一下参数:

    price:需要处理的数字,

    position:保留小数点第几位,

    然后调用

        float s =0.126;

        NSString *sb = [self notRounding:s afterPoint:2];

        NSLog(@"sb = %@",sb);

    输出结果为:sb = 0.12

    接下来介绍NSDecimalNumberHandler初始化时的关键参数:decimalNumberHandlerWithRoundingMode:NSRoundDown,

    NSRoundDown代表的就是 只舍不入。

    scale的参数position代表保留小数点后几位。

  • 相关阅读:
    elastic-job 新手指南
    最基本的区块链hello world(python3实现)
    python:函数的高级特性
    python高级特性:切片/迭代/列表生成式/生成器
    python:函数中五花八门的参数形式(茴香豆的『回』字有四种写法)
    python:爬虫入门
    python: 序列化/反序列化及对象的深拷贝/浅拷贝
    python中的zip、lambda、map操作
    python面向对象笔记
    RxJava2学习笔记(3)
  • 原文地址:https://www.cnblogs.com/davidgu/p/5304981.html
Copyright © 2011-2022 走看看