2016-02-26 66 views
0

是java有修剪文本/字符串的方法嗎?像這樣的:
int comaNumber = input.nextInt();
string number = "234,56789";
int coma = number.indexOf(",");
string number = number.substring(0,coma(comaNumber+1));
在java中修剪文本

注:它會搜索昏迷字符,然後它會修剪基礎上comaNumber昏迷的量數,結果是234,56(作品)

是在java中的任何方法來修整十進制數以簡化我的作品? (不trim()函數)

編輯:小數位數由用戶輸入指定。

+0

匡威字符串到數字,用這個答案的格式數量:http://stackoverflow.com/questions/8819842/最佳路徑格式爲雙值至2位小數 –

+1

您可以用逗號替換逗號,然後使用DecimalFormat或將小數點截斷爲小數點後兩位,並將句點替換爲再次逗號 –

回答

-1

據我所知,沒有這樣的方法。我的建議是創建自己的方法,然後在需要時引用它。

0

你可以嘗試使用String.format。首先用一段時間切換逗號。例如,

number = number.replace(",","."); 
double y = Double.parseDouble(number); 
String x = String.format("%.2d",number); 
x = x.replace(".",","); 

首先,用逗號替換逗號。然後使用parseDouble方法(文檔https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#parseDouble(java.lang.String))。然後使用String.format在小數點後僅保留兩個位置。然後將小數點改回逗號。

希望這會有所幫助!

1

最簡單的方法是使用DecimalFormat。雖然,爲了使用逗號進行操作,您需要修改FormatSymbols。

這將是這樣的:

DecimalFormatSymbols symbols = new DecimalFormatSymbols(); 
    symbols.setDecimalSeparator(',');//this tels DecimalFormat to use ',' as the decimal separator 
    String pattern = "#.00";//this means that you want only 2 decimals 
    DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols); 
    System.out.println(decimalFormat.parse("221012,28").doubleValue()); 
    System.out.println(decimalFormat.format(1234.123121)); 

,打印

221012.28 
1234,12