源码获取:博客首页 "资源" 里下载! 1、换算:吨、千克、斤,晌/公顷、亩、平方米,晌/株、亩/株、平方米/株 2、籽粒干重、果穗干重、出籽率计算 3、发芽种粒数、供试种粒数、发芽率计算 4、种子袋、晌、亩、品种 换算 package com.euyy; public class BigCount { public String BigCountTool(String num1,String num2) { int l = num1.length(); int r = num2.length(); // 用来存储结果的数组,可以肯定的是两数相乘的结果的长度,肯定不会大于两个数各自长度的和。 int[] num = new int[l + r]; // 第一个数按位循环 for (int i = 0; i < l; i++) { // 得到最低位的数字 int n1 = num1.charAt(l - 1 - i) - '0'; // 保存进位 int tmp = 0; // 第二个数按位循环 for (int j = 0; j < r; j++) { int n2 = num2.charAt(r - 1 - j) - '0'; // 拿出此时的结果数组里存的数+现在计算的结果数+上一个进位数 tmp = tmp + num[i + j] + n1 * n2; // 得到此时结果位的值 num[i + j] = tmp % 10; // 此时的进位 tmp /= 10; } // 第一轮结束后,如果有进位,将其放入到更高位 num[i + r] = tmp; } int i = l + r - 1; // 计算最终结果值到底是几位数, while (i > 0 && num[i] == 0) { i--; } String result = ""; // 将数组结果反过来放,符合正常读的顺序, // 数组保存的是:1 2 3 4 5 // 但其表达的是54321,五万四千三百二十一。 while (i >= 0) { result += num[i--]; } return result; } } 源码获取:博客首页 "资源" 里下载!