つまずいた小さなことを小ネタとして書き連ねます。
JSONバリューに小数点の桁数を指定して格納する
val array = arrayOf(1.2, 2.34, 5.678)
val test = JSONObject()
test.put("TEST", array[2])
test.put("TESTa", "%,.1f".format(array[2]))
test.put("TESTb", "%,.2f".format(array[2]))
test.put("TESTc", "%,.3f".format(array[2]))
test.put("TESTd", "%,.4f".format(array[2]))
//{"TEST":5.678,"TESTa":"5.7","TESTb":"5.68","TESTc":"5.678","TESTd":"5.6780"}
値以上の桁を取ろうとすると0埋めされるんですね。
配列要素が文字列だった場合
val array = arrayOf(1.2, 2.34, "5.678")
val test = JSONObject()
test.put("TEST", array[2])
test.put("TESTa", "%,.1f".format(array[2].toString().toDouble()))
test.put("TESTb", "%,.2f".format(array[2].toString().toDouble()))
test.put("TESTc", "%,.3f".format(array[2].toString().toDouble()))
test.put("TESTd", "%,.4f".format(array[2].toString().toDouble()))
//{"TEST":"5.678","TESTa":"5.7","TESTb":"5.68","TESTc":"5.678","TESTd":"5.6780"}
文字列型にしてdouble型にして…何かもっと簡単な方法がありそうな気がする…。