开发者社区> 问答> 正文

用string类型进行十进制加法计算

这是n1,n2长度相同的时候的算法,求改进长度不同的时候又要进位时候的编写方法。如1998+2=2000。
screenshot

展开
收起
蛮大人123 2016-02-26 11:22:04 3705 0
2 条回答
写回答
取消 提交回答
  • 使用 Integer.valueOf() 方法,先把字符串转换为数字,然后再执行加法计算。
    2019-07-17 18:48:03
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪
    public static int getChar(String n1,int pos){
            int a=0;
            char c_a;
            if(pos<n1.length()){
                c_a = n1.charAt(n1.length()-pos-1);
                a = c_a-'0';//实际上这一步就不叫字符串加减了,顶多算模拟位数相加
            }
            return a;
        }
        public static String addNumericStrings(String n1,String n2){
            String result = "";
            String A = "";
            int len = n1.length()>n2.length()?n1.length():n2.length();
            int a,b;
            int flag = 0;
            char c_a,c_b;
            for(int i=0;i<len;i++){
                a=getChar(n1,i);
                b=getChar(n2,i);
                int v3=flag+a+b;
                if(v3>=10){
                    A=String.valueOf(v3-10);
                    flag=1;
                }else{
                    A=String.valueOf(v3);
                    flag = 0;
                }
                result=A+result;
            }
            return result;
        }
        /**
         * @param args
         */
        public static void main(String[] args) {
            String k = addNumericStrings("2986","14");
            System.out.println(k);
        }
    2019-07-17 18:48:03
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多