java - 将字符串转换为 BigDecimal
问题描述
在 Java 中有很多将 String 转换为 BigDecimal 的解决方案,但我的问题有点不同
if (obj.getAmount() != null) {
payment.setAmount(new BigDecimal(p.getAmount()));
}
如何在 JDK 8 中转换上述代码 ..
我试过下面的代码但没有工作
AppCommonUtils.optional(payment.getAmount()).map(new::BigDecimal).ifPresent(txnCustomerPayment::setAmount);
public static Optional<String> optional(String value) {
return StringUtils.isNotBlank(value) ? Optional.of(value) : Optional.empty();
}
解决方案
您的代码几乎没有问题,例如new::BigDecimal
不是有效的表达式。
假设obj.getAmount()
返回 aString
它应该如下所示:
Optional.ofNullable(obj.getAmount())
.map(BigDecimal::new)
.ifPresent(payment::setAmount)
推荐阅读
- python - 将 HTML 拆分为字典/熊猫
- javascript - 单击编辑按钮时会添加额外的文本框,我们将不胜感激
- swift - SwiftUI Map 混合注释
- javascript - Chart.js 响应式 css 大小
- node.js - 无法使用无服务器框架和 TypeScript 从 Lambda 层导入模块
- sql - Hive:读取子选择中定义的表分区
- php - 从 cloudrun 访问 GCS
- pycharm - 如何在 Pycharm IDE 中自动格式化或自动设置 Robot 测试用例的样式?
- python - pptx-python:添加文本后动态查找表格高度
- yii2 - yii2 禁用内置身份验证