• Unity之修复个别手机小数精度问题


    部分手机字符串转小数时,可能会出现精度问题,用如下接口代替 float.Parse()和float.TryParse()可解决问题,代码如下:

     1     static StringBuilder s_sb = new StringBuilder();
     2     
     3     
     4     public static bool TryParseFloat(this string strFloat, out float result)
     5     {
     6         result = 0;
     7         if (string.IsNullOrEmpty(strFloat))
     8             return false;
     9 
    10         int indexOfDot = strFloat.IndexOf('.');
    11         if (indexOfDot < 0)
    12             return float.TryParse(strFloat, out result);
    13 
    14         int curDecimalCount = strFloat.Length - indexOfDot - 1;
    15         int clipCount = curDecimalCount - 4;
    16         string str;
    17         if (clipCount > 0)
    18         {
    19             int newLen = strFloat.Length - clipCount;
    20             str = strFloat.Substring(0, newLen);
    21         }
    22         else if (clipCount == 0)
    23         {
    24             str = strFloat;
    25         }
    26         else
    27         {
    28             s_sb.Length = 0;
    29             s_sb.Append(strFloat);
    30             clipCount = -clipCount;
    31             for (int i = 0; i < clipCount; i++)
    32                 s_sb.Append("0");
    33             str = s_sb.ToString();
    34         }
    35         str = str.Replace(".", "");
    36 
    37         if (int.TryParse(str, out int result2))
    38         {
    39             result = result2 / 10000f;
    40             return true;
    41         }
    42 
    43         return false;
    44     }
    45 
    46     public static float ParseFloat(this string strFloat)
    47     {
    48         if (string.IsNullOrEmpty(strFloat))
    49             return 0;
    50 
    51         strFloat.TryParseFloat(out float result);
    52         return result;
    53     }

    转载请注明出处:https://www.cnblogs.com/jietian331/p/15469774.html

  • 相关阅读:
    DRF
    DRF
    DRF
    DRF
    RESTful介绍
    DRF parser请求处理流程
    Vue项目的创建
    怎么清除file控件的文件路径
    java用spring实现文件下载
    JS判断元素是否在数组内 阿星小栈
  • 原文地址:https://www.cnblogs.com/jietian331/p/15469774.html
Copyright © 2020-2023  润新知