The use of punctuation characters to separate subgroups in a number can make the number more readable. For instance consider 1,000,000,000 versus
1000000000. But when the grouping is irregular, such as 1,000,00,000; it indicates an error.
This rule raises an issue when underscores (_
) are used to break a number into irregular subgroups.
Noncompliant code example
int thousand = 100_0;
int tenThousand = 100_00;
int million = 1_000_00_000;
Compliant solution
int thousand = 1000;
int tenThousand = 10_000;
int tenThousandWithout = 10000;
int duos = 1_00_00;
int million = 100_000_000;
Exceptions
No issue will be raised on binary numbers (starting with 0b
or 0B
). Binary number bits are often grouped corresponding to
certain meanings, resulting in irregular bit group sizes.
int configValue1 = 0b00_000_10_1; // Compliant
int configValue2 = 0B00_000_10_1; // Compliant