Example #1
0
        public void Can_ConvertAnySystem2Oct(int bin, string input, long expected)
        {
            var    nf     = new NumberFormater(bin);
            string output = nf.ToString(expected);

            Assert.Equal(input, output);
        }
Example #2
0
        public void Can_ConvertOct2AnySystem(int bin, long input, string expectOutput)
        {
            var    nf     = new NumberFormater(bin);
            string output = nf.ToString(input);

            Assert.Equal(expectOutput, output);
        }
Example #3
0
        public void Can_ConvertAnyNum2ChineseMoney()
        {
            // arrange
            double num = 123456789.321;

            // act
            var chineseNumber = NumberFormater.ToChineseMoney(num);

            // assert
            Assert.Equal("壹億贰仟叁佰肆拾伍萬陆仟柒佰捌拾玖元叁角贰分", chineseNumber);
        }
Example #4
0
        public void Can_ConvertAnyNum2Chinese()
        {
            // arrange
            double num = 1234567809.321;

            // act
            var chineseNumber = NumberFormater.ToChineseNumber(num);

            // assert
            Assert.Equal("十二亿三千四百五十六万七千八百零九点三二一", chineseNumber);
        }
Example #5
0
        /// <summary>
        /// 十进制转任意进制
        /// </summary>
        /// <param name="num"></param>
        /// <param name="bin">进制</param>
        /// <returns></returns>
        public static string ToBinary(this int num, int bin)
        {
            var nf = new NumberFormater(bin);

            return(nf.ToString(num));
        }
Example #6
0
        /// <summary>
        /// 生成唯一短字符串
        /// </summary>
        /// <param name="str"></param>
        /// <param name="chars">可用字符数数量,0-9,a-z,A-Z</param>
        /// <returns></returns>
        public static string CreateShortToken(this string str, byte chars = 36)
        {
            var nf = new NumberFormater(chars);

            return(nf.ToString((DateTime.Now.Ticks - 630822816000000000) * 100 + Stopwatch.GetTimestamp() % 100));
        }
Example #7
0
 /// <summary>
 /// 设置数制格式化器
 /// </summary>
 /// <param name="nf"></param>
 public static void SetNumberFormater(NumberFormater nf)
 {
     _numberFormater = nf;
 }
        /// <summary>
        /// 十进制转任意进制
        /// </summary>
        /// <param name="num"></param>
        /// <param name="base">进制</param>
        /// <returns></returns>
        public static string ToBinary(this BigInteger num, byte @base)
        {
            var nf = new NumberFormater(@base);

            return(nf.ToString(num));
        }
Example #9
0
        /// <summary>
        /// 任意进制转大数十进制
        /// </summary>
        /// <param name="str"></param>
        /// <param name="base">进制</param>
        /// <returns></returns>
        public static BigInteger FromBinaryBig(this string str, byte @base)
        {
            var nf = new NumberFormater(@base);

            return(nf.FromStringBig(str));
        }
Example #10
0
        /// <summary>
        /// 任意进制转十进制
        /// </summary>
        /// <param name="str"></param>
        /// <param name="base">进制</param>
        /// <returns></returns>
        public static long FromBinary(this string str, byte @base)
        {
            var nf = new NumberFormater(@base);

            return(nf.FromString(str));
        }
Example #11
0
        /// <summary>
        /// 任意进制转大数十进制
        /// </summary>
        /// <param name="str"></param>
        /// <param name="bin">进制</param>
        /// <returns></returns>
        public static BigInteger FromBinaryBig(this string str, int bin)
        {
            var nf = new NumberFormater(bin);

            return(nf.FromStringBig(str));
        }
Example #12
0
        /// <summary>
        /// 任意进制转十进制
        /// </summary>
        /// <param name="str"></param>
        /// <param name="bin">进制</param>
        /// <returns></returns>
        public static long FromBinary(this string str, int bin)
        {
            var nf = new NumberFormater(bin);

            return(nf.FromString(str));
        }
Example #13
0
        /// <summary>
        /// 十进制转任意进制
        /// </summary>
        /// <param name="num"></param>
        /// <param name="newBase">进制</param>
        /// <returns></returns>
        public static string ToBinary(this long num, byte newBase)
        {
            var nf = new NumberFormater(newBase);

            return(nf.ToString(num));
        }