Java中,如果一个String类型的变量为1.000000,用subString方法能不能比如说只截取从小数点开始,而不指定结束索引,直接将小数点后全部删除
时间: 2023-07-16 19:13:18 浏览: 77
可以使用`indexOf`方法找到小数点的位置,然后使用`substring`方法截取小数点后面的部分。示例代码如下:
```java
String str = "1.000000";
int decimalIndex = str.indexOf(".");
if (decimalIndex >= 0) {
str = str.substring(0, decimalIndex);
}
System.out.println(str); // 输出 "1"
```
这里使用`indexOf`方法找到小数点的位置,如果找到了,则使用`substring`方法截取小数点前面的部分。如果没有找到小数点,则不进行任何操作。
相关问题
java获取一个字符串字符“.”之前的字符到一个string类型变量中
你可以使用Java中的字符串方法`substring()`和`lastIndexOf()`来实现这个需求。具体的代码如下:
```java
String str = "hello.world";
String result = str.substring(0, str.lastIndexOf("."));
System.out.println(result);
```
上述代码中,`str`是原始字符串,`result`是获取到的结果。我们使用`lastIndexOf()`方法查找最后一个`.`的位置,然后使用`substring()`方法获取该位置之前的子字符串。最终输出结果为`hello`。
java中实现String a = "12.000"; String b = "13.000000" 如果小数点后都是0,则只显示整数部分的代码例子
在Java中,你可以使用`String`的`replace()`或`substring()`方法结合正则表达式来去掉多余的零。下面是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
String a = "12.000";
String b = "13.000000";
// 使用replaceAll()替换非数字字符(包括.和0),然后取第一个.之前的部分作为整数部分
String intPartA = a.replaceAll("\\D", "");
String intPartB = b.replaceAll("\\D", "");
System.out.println("Int part of string A: " + intPartA);
System.out.println("Int part of string B: " + intPartB);
}
}
```
在这个代码里,`\\D`匹配任何非数字字符,`replaceAll("\\D", "")`会将字符串中的所有非数字字符替换为空,结果就是只剩下整数部分。
如果你想保留小数点,可以稍微修改一下,例如只去掉末尾的零:
```java
String intPartWithDotA = a.replaceFirst("(?<=\\.)0*", "");
String intPartWithDotB = b.replaceFirst("(?<=\\.)0*", "");
```
这将只移除每个数字之后的第一个零。
阅读全文