Java 添加+;1到字符串的末尾
早上好, 我有一个字符串=“1481807989.1524” 我需要给这个字符串加+1 示例1: String=“1481807989.1524” 新字符串=“1481807989.1525” 示例2: String=“1481807989.1999” 新字符串=“1481807989.2000” 我试着这样做,但它没有回答:Java 添加+;1到字符串的末尾,java,Java,早上好, 我有一个字符串=“1481807989.1524” 我需要给这个字符串加+1 示例1: String=“1481807989.1524” 新字符串=“1481807989.1525” 示例2: String=“1481807989.1999” 新字符串=“1481807989.2000” 我试着这样做,但它没有回答: String str; Str = str.charAt (str.length () - 1); 将值作为一个整体进行分析,然后添加所需的值 new BigDeci
String str;
Str = str.charAt (str.length () - 1);
将值作为一个整体进行分析,然后添加所需的值
new BigDecimal(/* your string */).add(BigDecimal.ONE)
或者,如果我正确阅读了您的代码,您总是希望添加新的BigDecimal(“0.001”)
编辑:如果您真的只想更改最后一位数字,请使用以下方法:
public BigDecimal incrementLastDigit(String value) {
BigDecimal decimal = new BigDecimal(value);
return new BigDecimal(decimal.unscaledValue().add(BigInteger.ONE), decimal.scale());
}
样本:
incrementLastDigit("1234.1234"); // gets you 1234.1235
incrementLastDigit("1234.1"); // gets you 1234.2
incrementLastDigit("9999999999999999999999999999999999.99999999999999999999999999999");
// gets you 10000000000000000000000000000000000.00000000000000000000000000000
你必须把数字改成浮点数,做你想做的数学运算,然后把它变回字符串。是一个十进制数吗?你想加0.001吗;还是有两个数字,用“.”隔开?然后加上,然后你要做什么,我知道。但是如何用java(代码)做我遇到的困难可以帮助我吗?@RafaelCalino看看Tom刚才链接的内容。人们不是来帮你做作业的。字符串可以是
123
,123.1
,'123.123,'8999999999999999999999999.99999999999999999
。无论如何,硬编码0.001
看起来不太好。同意。这应该是正确的方向。我看到的模式是添加了0.0001
;-)关于输入字符串。别忘了,“胡说八道”也是一个有效的输入字符串;-)未要求进行健全性检查;-)我做了这个函数,但看看结果:VAR:1481811454.1579 VAR NEW:1481811455.1579他必须在1579年改变。