gpt4 book ai didi

android - DecimalFormatSymbols.getInstance()。decimalSeparator返回的十进制分隔符错误

转载 作者:行者123 更新时间:2023-12-02 13:27:02 26 4
gpt4 key购买 nike

基于以下问题:Decimal point or decimal comma in Android我尝试获取设备中使用的小数点分隔符。我正在使用Kotlin,因此我的代码如下所示:

import android.icu.text.DecimalFormatSymbols

DecimalFormatSymbols.getInstance().decimalSeparator // function used in onCreate()
此代码返回 , ,但在设备上,分隔符使用例如在EditText中为 . 。为什么会这样?

我认为它返回错误结果的示例:
import android.icu.text.DecimalFormatSymbols

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

txtSeparator.text = DecimalFormatSymbols.getInstance().decimalSeparator.toString()
txtTest.text = (1234.5678).toString()
}
}
enter image description here
为什么第一个TextView中的分隔符与第二个TextView或EditText中的分隔符不同?它发生在某些语言中。用英语可以,但是例如在波兰没有。

最佳答案

txtTest.text = (1234.5678).toString()行只是告诉VM,它应该使用标准的数字到字符串转换过程,因此它将放置一个点作为小数点分隔符,如果您使用带有更多小数位的 double 数,它甚至会使用科学计数法。您应该改为从Android开发人员那里浏览此页面,该页面上有使用数字格式的特定方法:https://developer.android.com/reference/java/text/DecimalFormat

关于android - DecimalFormatSymbols.getInstance()。decimalSeparator返回的十进制分隔符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63265169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com