给定
{ "currency" : {
"details" : {
"data" : {
"code" : "INR",
"name" : "Indian Rupee",
"symbol" : "₹"
}
}
},
"amt" : 3.247913577689E10
}
问题:我在代码中得到的上述json作为响应,我取出amt
,然后在文件中发回amt
的数量。但问题是amt
正在以科学的方式出现。我已经尝试了下面给出的代码
val paymentAmount = (json "total_amount").extractOrElse(0.00).toString
它不起作用。我试过f插值,但对于最大的数字,它是四舍五入。如何处理?
我不知道你到底使用了什么json库,但它使用play json
很容易解析
val json = """{
| "currency": {
| "details": {
| "data": {
| "code": "INR",
| "name": "Indian Rupee",
| "symbol": "₹"
| }
| }
| },
| "amt": 3.247913577689E10
|}
|""".stripMargin
def main(args: Array[String]): Unit = {
import play.api.libs.json._
val paymentAmount: Double = (Json.parse(json) "amt").as[Double]
println(paymentAmount) // 3.247913577689E10
}