【问题标题】:Remove scientific notation formatting for Float values in kotlin android删除 kotlin android 中浮点值的科学记数法格式
【发布时间】:2020-02-17 10:58:11
【问题描述】:

我正在尝试将浮点值设置为编辑文本。为此,我正在使用如下所示的绑定适配器。

@BindingAdapter("android:text")
@JvmStatic
fun setAmount(editText: EditText, currency: Float?) {
    if (currency!= null && currency!=0.0f) {

       editText.setText(""+Math.round(currency))
    }else{
        editText.setText("")
    }
}

模型类

class OpportunityModel : BaseObservable(), Serializable {

var accountName = ""
var accountGuid: String? = null
var amount = 0.0
var potentialAmount:Float = 0.0f
get() = field
set(value) {field=value}
var contactPersonName = ""
var fieldOne = ""
var fieldTwo = ""
var fieldThree = ""
var fieldFour = ""
var fieldFive = ""
var opportunityName = ""
var opportunityGuid: String? = null
var opportunityRating = 0
var opportunityReasonGuid: String? = null
var opportunityIntStatus = 2
var opportunityDispStatus = ""
var opportunityNotAvailable = false
var genericFieldUI: GenericFieldDto? = null
@SerializedName("expDateOfClosure")
var dateForServer: String? = null
var expDate = ""
var contactPersonNameGuid: String? = null
var listOfAccountContact = ArrayList<AccountContactPersonModel>()
var listOfReasonMaster = ArrayList<ReasonMasterDto>()}

这会在编辑文本中正确显示该值,但是当通过数据绑定将此值添加到模型类时,它会转换为科学计数法并显示类似1E+07 的值。我怎样才能停止这种向科学计数法的转换?

【问题讨论】:

  • 你能把你的模型类或模型类的特定部分放在一起吗?
  • @SomeshKumar 添加了
  • 尝试在模型和绑定适配器上使用双精度而不是浮点数,看看问题是否解决
  • @SomeshKumar 我以前使用过 double 。那也有同样的问题
  • 然后尝试使用 BigDecimal 并将浮点数转换为 String 并使用 BigDecimal 的 toPlainString 方法。

标签: android kotlin number-formatting


【解决方案1】:

你可以使用String.format,比如

@BindingAdapter("android:text")
@JvmStatic
fun setAmount(editText: EditText, currency: Float?) {
    if (currency!= null && currency!=0.0f) {

       editText.setText(String.format("%.8f", currency))
    }else{
        editText.setText("")
    }
}

【讨论】:

  • %.2f 可能更适合法定货币。
猜你喜欢
  • 2021-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-22
  • 1970-01-01
  • 2019-04-15
  • 2014-09-25
  • 2016-06-28
相关资源
最近更新 更多