# String-practice **Repository Path**: fangdongy/String-practice ## Basic Information - **Project Name**: String-practice - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-17 - **Last Updated**: 2024-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # String-practice 有一个不定长度的String,其中前面是字母,后边是数字,例如:"abcd123.456", 要求写一个方法得到其中的数字以String的形式返回,数字保留小数点后两位, 不四舍五入,截去多余小数,例如:"abcd123.456",得到"123.45" 如果数字没有小数点,要得到两位为0的小数,例如:"abcd123",得到"123.00". Java代码: ``` package com.example.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringPractice { public static void main(String[] args) { System.out.println("numberString = " + getNumberString(null)); System.out.println("numberString = " + getNumberString("")); System.out.println("numberString = " + getNumberString("abcd")); System.out.println("numberString = " + getNumberString("abcd123")); System.out.println("numberString = " + getNumberString("abcd123.4")); System.out.println("numberString = " + getNumberString("abcd123.45")); System.out.println("numberString = " + getNumberString("abcd123.456")); } private static String getNumberString(String str) { if(str==null) return ""; String result = ""; Pattern pattern = Pattern.compile("(\\d+(\\.\\d+)?)"); Matcher matcher = pattern.matcher(str); if (matcher.find()) { result = matcher.group(); if (result.contains(".")) { result += "00"; } else { result += ".00"; } result = result.substring(0, result.indexOf(".") + 3); } return result; } } ``` ``` 输出结果: numberString = numberString = numberString = numberString = 123.00 numberString = 123.40 numberString = 123.45 numberString = 123.45 ```