美文网首页iOS填坑指南
iOS 字符串与浮点型转换与精度问题

iOS 字符串与浮点型转换与精度问题

作者: 闪现接Q | 来源:发表于2020-06-02 11:45 被阅读0次

    iOS 字符串与浮点型转换与精度问题

    一般字符串转浮点型

    NSString *str1 = @"123.12";

    float  strfloat1= [str floatValue];

    float strfloat2=0.5;

    NSString *str2 = [NSString stringWithFormat:@"%f",strfloat2];

    这里在%f ,这里可以是 @".2f"  标识小数点后保留2位  以此类推

    来看一下floatValue的定义:

    Discussion

    If the receiver is not a text-type cell or the cell value is not scannable, the method returns 0.

    如果这个字符串不是text类型 或者 不可扫描,就返回0  比如

     @"hello world" 或者中文 返回0 

    这个能可以帮助你在接收端做很多处理,比如 :

     @"000.123" 转成 0.123

     @".123 " 转成  0.123

    一般来说这个转换类型在iOS开发中有两种情况

    第一种是服务端传递解析,用于显示或者运算。

    第二种就是输入框接收浮点型做运算或者存储。

    先说第一种,如果服务端一般字符串传递,在移动端转成浮点型

    比如

     NSString*float8str =@"0.94";

     float  float8 = [float8str floatValue];

     double double8 = [float8str doubleValue];

    float8 = 0.939999997

    double8 = 0.93999999999999994

    NSString *str8= [NSString stringWithFormat:@"%f",float8];

    str8 = @"0.94"

    我们按照精度截取就好 小数点后两位。

    第二种,这种应用于textfield等输入框,设置数字键盘,只能输入数字和小数点。

    建议转浮点型处理格式,也可以按照小数点按为处理。

    相关文章

      网友评论

        本文标题:iOS 字符串与浮点型转换与精度问题

        本文链接:https://www.haomeiwen.com/subject/gmoyzhtx.html