首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用子字符串java分隔数字

使用子字符串java分隔数字
EN

Stack Overflow用户
提问于 2018-09-12 03:41:55
回答 2查看 200关注 0票数 -2

我想在Java中创建一个程序,从user_input获得数字,并使其成为货币格式…以下是我的代码

代码语言:javascript
复制
package Seperator_checker;

import java.util.Scanner;

public class Seperator {

    public static void main(String[] args) {
        Scanner number=new Scanner(System.in);
        System.out.print("Please Enter Your Number: ");
        String user_number=number.next();
        if(user_number.length()> 3) {
            user_number=user_number.substring(0,user_number.length()-3) + "," + user_number.substring(0,1);
            System.out.println("________________________________________");
            System.out.println("Your Currency Number Is: "+ user_number);
        }

    }

}
EN

回答 2

Stack Overflow用户

发布于 2018-09-12 03:58:15

我能想到的一个自发的答案是将字符串拆分成一个字符列表,然后向后遍历它,并在每三步之后插入一个,,直到到达开头。

伪码:

代码语言:javascript
复制
Convert String to Char List
goto end of List
counter = 0
while havent reached beginning of list
    counter += 1
    if counter == 3
        counter = 0
        insert ',' into List
        //maybe go back one here too depending on implementation of 
        //insert and which is the current element after inserting
    end if
    go one back one element in List
end while

对不起,我不知道怎么写伪代码

票数 0
EN

Stack Overflow用户

发布于 2018-09-15 04:02:23

如果必须使用子字符串:

我不知道如何将其表达出来,所以下面是代码:)

代码语言:javascript
复制
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        int rest = input.length() % 3;
        if(rest == 0){
            rest = 3;
        }
        //add the "irregular" comma
        input = input.substring(0,rest) + "," + input.substring(rest);

        //add the rest
        for(int i = rest+1;i < input.length()-3; i+= 4){//4 because of the comma
            input = input.substring(0, i+3) + "," + input.substring(i+3, input.length()); 
        }
        System.out.println(input);
    }
}

(基本上首先处理开头的不规则部分,然后按步骤3 (4,因为您插入逗号)并插入逗号)

希望这能有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52283146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档