DEV Community

Khoa Pham
Khoa Pham

Posted on

Digit grouping in Swift

Original post https://github.com/onmyway133/blog/issues/26

When working on Scale I think it's good to have a way to group the digit so that it is easier to reason

Luckily, Swift already supports this. See The Swift Programming Language - Numeric Literals

Numeric literals can contain extra formatting to make them easier to read. Both integers and floats can be padded with extra zeros and can contain underscores to help with readability. Neither type of formatting affects the underlying value of the literal

let paddedDouble = 000123.456 let oneMillion = 1_000_000 let justOverOneMillion = 1_000_000.000_000_1 
Enter fullscreen mode Exit fullscreen mode

Talking about grouping digits after the decimal point, it is interesting too Convention of digit grouping after decimal point

So now we have

public enum MetricUnit: Double { case nano = 0.000_000_001 case micro = 0.000_001 case milli = 0.001 case centi = 0.01 case deci = 0.1 case base = 1 case deka = 10 case hecto = 100 case kilo = 1_000 case mega = 1_000_000 case giga = 1_000_000_000 case tera = 1_000_000_000_000 case peta = 1_000_000_000_000_000 static var defaultScale: Double { return MetricUnit.base.rawValue } } 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)