mirror of
https://github.com/Myzel394/NumberHub.git
synced 2025-06-19 08:45:27 +02:00
Fixed engineering string formatter
This commit is contained in:
parent
91332312e1
commit
e620794358
@ -82,7 +82,7 @@ object Formatter {
|
|||||||
*/
|
*/
|
||||||
fun format(input: String): String {
|
fun format(input: String): String {
|
||||||
// Don't do anything to engineering string.
|
// Don't do anything to engineering string.
|
||||||
if (input.contains(KEY_E)) return formatNumber(input)
|
if (input.contains(KEY_E)) return input.replace(KEY_DOT, fractional)
|
||||||
|
|
||||||
var output = input
|
var output = input
|
||||||
|
|
||||||
|
@ -24,7 +24,8 @@ import org.junit.Test
|
|||||||
|
|
||||||
private val formatter = Formatter
|
private val formatter = Formatter
|
||||||
|
|
||||||
private const val ENG_VALUE = "123.3E+21"
|
private const val ENG_VALUE = "123E+21"
|
||||||
|
private const val ENG_VALUE_FRACTIONAL = "123.3E+21"
|
||||||
private const val COMPLETE_VALUE = "123456.789"
|
private const val COMPLETE_VALUE = "123456.789"
|
||||||
private const val INCOMPLETE_VALUE = "123456."
|
private const val INCOMPLETE_VALUE = "123456."
|
||||||
private const val NO_FRACTIONAL_VALUE = "123456"
|
private const val NO_FRACTIONAL_VALUE = "123456"
|
||||||
@ -37,7 +38,8 @@ class FormatterTest {
|
|||||||
fun setSeparatorSpaces() {
|
fun setSeparatorSpaces() {
|
||||||
formatter.setSeparator(Separator.SPACES)
|
formatter.setSeparator(Separator.SPACES)
|
||||||
assertEquals(".", formatter.fractional)
|
assertEquals(".", formatter.fractional)
|
||||||
assertEquals("123.3E+21", formatter.format(ENG_VALUE))
|
assertEquals("123E+21", formatter.format(ENG_VALUE))
|
||||||
|
assertEquals("123.3E+21", formatter.format(ENG_VALUE_FRACTIONAL))
|
||||||
assertEquals("123 456.789", formatter.format(COMPLETE_VALUE))
|
assertEquals("123 456.789", formatter.format(COMPLETE_VALUE))
|
||||||
assertEquals("123 456.", formatter.format(INCOMPLETE_VALUE))
|
assertEquals("123 456.", formatter.format(INCOMPLETE_VALUE))
|
||||||
assertEquals("123 456", formatter.format(NO_FRACTIONAL_VALUE))
|
assertEquals("123 456", formatter.format(NO_FRACTIONAL_VALUE))
|
||||||
@ -49,7 +51,8 @@ class FormatterTest {
|
|||||||
fun setSeparatorComma() {
|
fun setSeparatorComma() {
|
||||||
formatter.setSeparator(Separator.COMMA)
|
formatter.setSeparator(Separator.COMMA)
|
||||||
assertEquals(".", formatter.fractional)
|
assertEquals(".", formatter.fractional)
|
||||||
assertEquals("123.3E+21", formatter.format(ENG_VALUE))
|
assertEquals("123E+21", formatter.format(ENG_VALUE))
|
||||||
|
assertEquals("123.3E+21", formatter.format(ENG_VALUE_FRACTIONAL))
|
||||||
assertEquals("123,456.789", formatter.format(COMPLETE_VALUE))
|
assertEquals("123,456.789", formatter.format(COMPLETE_VALUE))
|
||||||
assertEquals("123,456.", formatter.format(INCOMPLETE_VALUE))
|
assertEquals("123,456.", formatter.format(INCOMPLETE_VALUE))
|
||||||
assertEquals("123,456", formatter.format(NO_FRACTIONAL_VALUE))
|
assertEquals("123,456", formatter.format(NO_FRACTIONAL_VALUE))
|
||||||
@ -61,7 +64,8 @@ class FormatterTest {
|
|||||||
fun setSeparatorPeriod() {
|
fun setSeparatorPeriod() {
|
||||||
formatter.setSeparator(Separator.PERIOD)
|
formatter.setSeparator(Separator.PERIOD)
|
||||||
assertEquals(",", formatter.fractional)
|
assertEquals(",", formatter.fractional)
|
||||||
assertEquals("123,3E+21", formatter.format(ENG_VALUE))
|
assertEquals("123E+21", formatter.format(ENG_VALUE))
|
||||||
|
assertEquals("123,3E+21", formatter.format(ENG_VALUE_FRACTIONAL))
|
||||||
assertEquals("123.456,789", formatter.format(COMPLETE_VALUE))
|
assertEquals("123.456,789", formatter.format(COMPLETE_VALUE))
|
||||||
assertEquals("123.456,", formatter.format(INCOMPLETE_VALUE))
|
assertEquals("123.456,", formatter.format(INCOMPLETE_VALUE))
|
||||||
assertEquals("123.456", formatter.format(NO_FRACTIONAL_VALUE))
|
assertEquals("123.456", formatter.format(NO_FRACTIONAL_VALUE))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user