Fixing exporting issue with comma decimal separator

od
Laurent 6 years ago
parent 26867cb23c
commit ffd684774c
  1. 2
      app/build.gradle
  2. 13
      app/src/main/java/net/pokeranalytics/android/util/TextFormat.kt
  3. 19
      app/src/main/java/net/pokeranalytics/android/util/csv/CSVField.kt
  4. 11
      app/src/test/java/net/pokeranalytics/android/BasicUnitTest.kt
  5. 2
      app/standard/release/output.json

@ -33,7 +33,7 @@ android {
applicationId "net.pokeranalytics.android"
minSdkVersion 23
targetSdkVersion 28
versionCode 79
versionCode 81
versionName "2.4"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

@ -3,6 +3,19 @@ package net.pokeranalytics.android.util
import android.content.Context
import android.graphics.Color
import androidx.core.content.ContextCompat
import java.text.DecimalFormat
import java.text.DecimalFormatSymbols
object DotFormatSymbols : DecimalFormatSymbols() {
init {
this.decimalSeparator = '.'
}
}
object CSVNumberFormat : DecimalFormat("#.######", DotFormatSymbols) {
init {
this.isGroupingUsed = false
}
}
class TextFormat(var text: String, var color: Int? = null) {

@ -2,6 +2,7 @@ package net.pokeranalytics.android.util.csv
import net.pokeranalytics.android.model.realm.CustomField
import net.pokeranalytics.android.model.realm.TournamentFeature
import net.pokeranalytics.android.util.CSVNumberFormat
import timber.log.Timber
import java.text.DateFormat
import java.text.NumberFormat
@ -22,10 +23,10 @@ interface NumberCSVField: TypedCSVField<Double> {
return null
}
val formatter = NumberFormat.getInstance(Locale.US)
// val formatter = NumberFormat.getInstance(Locale.US)
return try {
formatter.parse(value).toDouble()
CSVNumberFormat.parse(value).toDouble()
} catch (e: ParseException) {
Timber.d("Field > Unparseable number: $value")
null
@ -43,10 +44,10 @@ interface NumberCSVField: TypedCSVField<Double> {
return it(value)
}
val formatter = NumberFormat.getInstance(Locale.US)
// val formatter = NumberFormat.getInstance(Locale.US)
return try {
formatter.parse(value).toDouble()
CSVNumberFormat.parse(value).toDouble()
} catch (e: ParseException) {
Timber.d("Field $header > Unparseable number: $value")
null
@ -55,7 +56,7 @@ interface NumberCSVField: TypedCSVField<Double> {
override fun format(data: Double?): String? {
return if (data != null) {
NumberFormat.getInstance().format(data)
CSVNumberFormat.format(data)
} else {
null
}
@ -71,7 +72,7 @@ interface IntCSVField: TypedCSVField<Int> {
}
return try {
NumberFormat.getInstance().parse(value).toInt()
CSVNumberFormat.parse(value).toInt()
} catch (e: ParseException) {
Timber.d("Field $header > Unparseable number: $value")
null
@ -80,7 +81,7 @@ interface IntCSVField: TypedCSVField<Int> {
override fun format(data: Int?): String? {
return if (data != null) {
NumberFormat.getInstance().format(data)
CSVNumberFormat.format(data)
} else {
null
}
@ -149,8 +150,8 @@ interface BlindCSVField : TypedCSVField<Pair<Double, Double>> {
override fun format(data: Pair<Double, Double>?): String? {
data?.let {
val sb = NumberFormat.getInstance().format(data.first)
val bb = NumberFormat.getInstance().format(data.second)
val sb = CSVNumberFormat.format(data.first)
val bb = CSVNumberFormat.format(data.second)
return "$sb/$bb"
} ?: run {
return null

@ -1,10 +1,10 @@
package net.pokeranalytics.android
import net.pokeranalytics.android.util.CSVNumberFormat
import net.pokeranalytics.android.util.Parser
import net.pokeranalytics.android.util.extensions.kmbFormatted
import org.junit.Assert
import org.junit.Test
import java.text.NumberFormat
class BasicUnitTest : RealmUnitTest() {
@ -47,4 +47,13 @@ class BasicUnitTest : RealmUnitTest() {
}
@Test
fun testCSVFormatter() {
val str1 = CSVNumberFormat.format(1111.2567)
Assert.assertEquals("1111.2567", str1)
val str2 = CSVNumberFormat.format(1000)
Assert.assertEquals("1000", str2)
}
}

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":74,"versionName":"2.3.2","enabled":true,"outputFile":"PokerAnalytics_2.3.2(74)_191108_1621_release.apk","fullName":"standardRelease","baseName":"standard-release"},"path":"PokerAnalytics_2.3.2(74)_191108_1621_release.apk","properties":{}}]
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":81,"versionName":"2.4","enabled":true,"outputFile":"PokerAnalytics_2.4(81)_200521_1134_release.apk","fullName":"standardRelease","baseName":"standard-release","dirName":""},"path":"PokerAnalytics_2.4(81)_200521_1134_release.apk","properties":{}}]
Loading…
Cancel
Save