java轉大寫,java字符串

本文目錄一覽:

java如何將數字轉為中文大寫

import org.apache.commons.lang3.StringUtils;

/**

* @Title: ConvertUpMoney

* @Description: 將數字金額轉換為大寫中文金額

* @date: 2019年6月18日 下午10:52:27

*/

public class ConvertUpMoney {

// 大寫數字

private static final String[] NUMBERS = {“零”,”壹”,”貳”,”叄”,”肆”,”伍”,”陸”,”柒”,”捌”,”玖”};

// 整數部分的單位

private static final String[] IUNIT = {“元”,”拾”,”佰”,”仟”,”萬”,”拾”,”佰”,”仟”,”億”,”拾”,”佰”,”仟”,”萬”,”拾”,”佰”,”仟”};

// 小數部分的單位

private static final String[] DUNIT = {“角”,”分”,”厘”};

/**

* 轉換為大寫的中文金額

* @param str 字符串類型的 金額數字

* @return

*/

public static String toChinese(String str) {

// 判斷輸入的金額字符串是否符合要求

if (StringUtils.isBlank(str) || !str.matches(“(-)?[\\d]*(.)?[\\d]*”)) {

return “抱歉,請輸入數字!”;

}

if(“0”.equals(str) || “0.00”.equals(str) || “0.0”.equals(str)) {

return “零元”;

}

// 判斷金額數字中是否存在負號”-“

boolean flag = false;

if(str.startsWith(“-“)){

// 標誌位,標誌此金額數字為負數

flag = true;

str = str.replaceAll(“-“, “”);

}

// 去掉金額數字中的逗號”,”

str = str.replaceAll(“,”, “”);

String integerStr;//整數部分數字

String decimalStr;//小數部分數字

// 初始化:分離整數部分和小數部分

if(str.indexOf(“.”)0) {

integerStr = str.substring(0,str.indexOf(“.”));

decimalStr = str.substring(str.indexOf(“.”) + 1);

}else if(str.indexOf(“.”)==0) {

integerStr = “”;

decimalStr = str.substring(1);

}else {

integerStr = str;

decimalStr = “”;

}

// beyond超出計算能力,直接返回

if(integerStr.length()IUNIT.length) {

return “超出計算能力!”;

}

// 整數部分數字

int[] integers = toIntArray(integerStr);

// 判斷整數部分是否存在輸入012的情況

if (integers.length1 integers[0] == 0) {

return “抱歉,輸入數字不符合要求!”;

}

// 設置萬單位

boolean isWan = isWan5(integerStr);

// 小數部分數字

int[] decimals = toIntArray(decimalStr);

// 返回最終的大寫金額

String result = getChineseInteger(integers, isWan) + getChineseDecimal(decimals);

if(flag){

// 如果是負數,加上”負”

return “負” + result;

}else{

return result;

}

}

/**

* 將字符串轉為int數組

* @param number 數字

* @return

*/

private static int[] toIntArray(String number) {

int[] array = new int[number.length()];

for(int i = 0;inumber.length();i++) {

array[i] = Integer.parseInt(number.substring(i,i+1));

}

return array;

}

/**

* 將整數部分轉為大寫的金額

* @param integers 整數部分數字

* @param isWan 整數部分是否已經是達到【萬】

* @return

*/

public static String getChineseInteger(int[] integers,boolean isWan) {

StringBuffer chineseInteger = new StringBuffer(“”);

int length = integers.length;

if (length == 1 integers[0] == 0) {

return “”;

}

for(int i=0; ilength; i++) {

String key = “”;

if(integers[i] == 0) {

if((length – i) == 13)//萬(億)

key = IUNIT[4];

else if((length – i) == 9) {//億

key = IUNIT[8];

}else if((length – i) == 5 isWan) {//萬

key = IUNIT[4];

}else if((length – i) == 1) {//元

key = IUNIT[0];

}

if((length – i)1 integers[i+1]!=0) {

key += NUMBERS[0];

}

}

chineseInteger.append(integers[i]==0?key:(NUMBERS[integers[i]]+IUNIT[length – i -1]));

}

return chineseInteger.toString();

}

/**

* 將小數部分轉為大寫的金額

* @param decimals 小數部分的數字

* @return

*/

private static String getChineseDecimal(int[] decimals) {

StringBuffer chineseDecimal = new StringBuffer(“”);

for(int i = 0;idecimals.length;i++) {

if(i == 3) {

break;

}

chineseDecimal.append(decimals[i]==0?””:(NUMBERS[decimals[i]]+DUNIT[i]));

}

return chineseDecimal.toString();

}

/**

* 判斷當前整數部分是否已經是達到【萬】

* @param integerStr 整數部分數字

* @return

*/

private static boolean isWan5(String integerStr) {

int length = integerStr.length();

if(length 4) {

String subInteger = “”;

if(length 8) {

subInteger = integerStr.substring(length- 8,length -4);

}else {

subInteger = integerStr.substring(0,length – 4);

}

return Integer.parseInt(subInteger) 0;

}else {

return false;

}

}

// Test

public static void main(String[] args) {

String number = “12.56”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “1234567890563886.123”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “1600”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “156,0”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “-156,0”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “0.12”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “0.0”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “01.12”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “0125”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “-0125”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

number = “sdw5655”;

System.out.println(number+”: “+ConvertUpMoney.toChinese(number));

System.out.println(null+”: “+ConvertUpMoney.toChinese(null));

}

}

如何用java語言把小寫換成大寫

toLowerCase();           //字符串轉成小寫

toUpperCase();           //字符串轉成大寫

String str = “abcABC”;

String a = str.toLowerCase();  

String b = str.toUpperCase(); 

System.out.println(“a:”+a +”b:”+b);

輸出結果a:abcabc b:ABCABC

JAVA 數字轉換為中文大寫的轉換

package com.heyang;

/**

* 將10億以內的阿拉伯數字轉成漢字大寫形式

* @author xizhenyin

*

*/

public class CnUpperCaser {

// 整數部分

private String integerPart;

// 小數部分

private String floatPart;

// 將數字轉化為漢字的數組,因為各個實例都要使用所以設為靜態

private static final char[] cnNumbers={‘零’,’壹’,’貳’,’叄’,’肆’,’伍’,’陸’,’柒’,’捌’,’玖’};

// 供分級轉化的數組,因為各個實例都要使用所以設為靜態

private static final char[] series={‘元’,’拾’,’百’,’仟’,’萬’,’拾’,’百’,’仟’,’億’};

/**

* 構造函數,通過它將阿拉伯數字形式的字符串傳入

* @param original

*/

public CnUpperCaser(String original){

// 成員變量初始化

integerPart=””;

floatPart=””;

if(original.contains(“.”)){

// 如果包含小數點

int dotIndex=original.indexOf(“.”);

integerPart=original.substring(0,dotIndex);

floatPart=original.substring(dotIndex+1);

}

else{

// 不包含小數點

integerPart=original;

}

}

/**

* 取得大寫形式的字符串

* @return

*/

public String getCnString(){

// 因為是累加所以用StringBuffer

StringBuffer sb=new StringBuffer();

// 整數部分處理

for(int i=0;iintegerPart.length();i++){

int number=getNumber(integerPart.charAt(i));

sb.append(cnNumbers[number]);

sb.append(series[integerPart.length()-1-i]);

}

// 小數部分處理

if(floatPart.length()0){

sb.append(“點”);

for(int i=0;ifloatPart.length();i++){

int number=getNumber(floatPart.charAt(i));

sb.append(cnNumbers[number]);

}

}

// 返回拼接好的字符串

return sb.toString();

}

/**

* 將字符形式的數字轉化為整形數字

* 因為所有實例都要用到所以用靜態修飾

* @param c

* @return

*/

private static int getNumber(char c){

String str=String.valueOf(c);

return Integer.parseInt(str);

}

/**

* @param args

*/

public static void main(String[] args) {

System.out.println(new CnUpperCaser(“123456789.12345”).getCnString());

System.out.println(new CnUpperCaser(“123456789”).getCnString());

System.out.println(new CnUpperCaser(“.123456789”).getCnString());

System.out.println(new CnUpperCaser(“0.1234”).getCnString());

System.out.println(new CnUpperCaser(“1”).getCnString());

System.out.println(new CnUpperCaser(“12”).getCnString());

System.out.println(new CnUpperCaser(“123”).getCnString());

System.out.println(new CnUpperCaser(“1234”).getCnString());

System.out.println(new CnUpperCaser(“12345”).getCnString());

System.out.println(new CnUpperCaser(“123456”).getCnString());

System.out.println(new CnUpperCaser(“1234567”).getCnString());

System.out.println(new CnUpperCaser(“12345678”).getCnString());

System.out.println(new CnUpperCaser(“123456789”).getCnString());

}

}

java中怎樣把字符串小寫轉化為大寫

String的toUpperCase()方法

Java String.toUpperCase(Locale locale)方法用法實例教程,將在此字符串中的所有字符為大寫的規則給定的Locale

package com.yiibai;

import java.lang.*;

import java.util.*;

public class StringDemo {

  public static void main(String[] args) {

  

    String str1 = “This is TutorialsPoint”;

    // using the default system Locale

    Locale defloc = Locale.getDefault();

        

    // converts all lower case letters in to upper case letters

    System.out.println(“string value = ” + str1.toUpperCase(defloc));

    

    str1 = “”;

    System.out.println(“string value = ” + str1.toUpperCase(defloc));

  }

}

讓我們來編譯和運行上面的程序,這將產生以下結果:

string value = THIS IS TUTORIALSPOINT

string value = 

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/257638.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:46
下一篇 2024-12-15 12:46

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論