Round number to specified number of digits

后端 未结 3 1550
甜味超标
甜味超标 2021-02-07 01:57

Is there a simple function to round a Double or Float to a specified number of digits? I\'ve searched here and on Hoogle (for (Fractional a) =>

相关标签:
3条回答
  • 2021-02-07 02:44

    It depends on what you are going to do with the rounded number.

    If you want to use it in calculations, you should use Data.Decimal from Decimal library.

    If you want just to format the number nicely, you should use Text.Printf from the standard library (base package).

    0 讨论(0)
  • 2021-02-07 02:45
    λ: ((/100) $ fromIntegral $ round (0.006 * 100)) == 0.006
    λ: False
    
    λ: ((/100) $ fromIntegral $ round (0.06 * 100)) == 0.06
    λ: True
    
    0 讨论(0)
  • 2021-02-07 02:54

    Not sure whether any standard function exists, but you can do it this way:

     (fromInteger $ round $ f * (10^n)) / (10.0^^n)
    
    0 讨论(0)
提交回复
热议问题