美文网首页
C#保留两位小数

C#保留两位小数

作者: super41 | 来源:发表于2020-03-25 18:29 被阅读0次
    • 使用原始方法
    先乘以100,然后用Mathf.Ceil/Floor转换后再除回100
    float value = 3.576f;
    float newValue = Mathf.Ceil(value * 100) / 100; 
    Debug.Log(string.Format("{0}:{1}",value,newValue));
    输出 3.576 : 3.58
    
    • 使用Math.Round
    float value = 3.576f;
    var newValue = Math.Round(value,2);
    Debug.Log(string.Format("{0}:{1}",value,newValue));
    结果也是输出 3.576 : 3.58
    
    float value = 3.5f;
    Debug.Log(string.Format("{0}:{1}",value,Math.Round(value,2)));
    输出 3.5 :3.5
    
    • 使用string.Format
    float value = 3.576f;
    Debug.Log(string.Format("{0}:{1:F2}",value,value));
    输出 3.576 : 3.58
    
    float value = 3.5f;
    Debug.Log(string.Format("{0}:{1:F2}",value,value));
    输出 3.5 : 3.50
    
    float value = 3.5f;
    Debug.Log(string.Format("{0}:{1:0.##}",value,Math.Round(value,2)));
    输出 3.5 :3.5
    
    • 区别
      • Math.Round 和 string.format都是使用4舍5入来保留小数的,所以无要求的情况下用这两种会比较方便。如果有需求的话,那就用第一种方法。
      • Math.Round 和 string.format的区别
        可以看到 Math.Round 对 3.5 处理后输出也是3.5; 而string.format则可以选择是否补0,也就是可以选择显示3.5或3.50

    相关文章

      网友评论

          本文标题:C#保留两位小数

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