Kotlin小ネタ

つまずいた小さなことを小ネタとして書き連ねます。

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型にして…何かもっと簡単な方法がありそうな気がする…。

▼不明点や作成依頼などあればこちらからどうぞ
立プロに問合せる

▼インスタやってます

 

立プロ

組込エンジニア⇒個人事業主
ITと連携したビジネス発展をサポートしています。
C,C#,JavaScript, Vue, PHP, VBA, GAS, Kotlinなど、扱う言語が増えゆく日々。

立プロをフォローする
Kotlin
立科プログラミング
タイトルとURLをコピーしました