import { describe, test, expect, Result } from './tests.uts' export function testNumber(): Result { return describe("Number", () => { test('toFixed', () => { function financial(x: Number): String { return x.toFixed(2); } expect(financial(123.456)).toEqual('123.46'); expect(financial(0.004)).toEqual("0.00"); expect(financial(0)).toEqual("0.00"); expect(financial(1)).toEqual("1.00"); let num1: number = -1.1 / 0 let num2: number = -1.1 / 0.1 let num3: number = -1.1 / -0.1 console.warn(num1) console.warn(num2) console.warn(num3) let obj = {"id":"3be2c600-894c-4231-aa56-82fd989cc961","result":{"result":[num1, num2, num3]}} console.log(JSON.stringify(obj)) }) test('parseInt', () => { expect(parseInt("123.456")).toEqual(123); }) test('parseFloat', () => { expect(parseFloat("11.20")).toEqual(11.2); }) test('isFinite', () => { expect(isFinite(1000 / 1)).toEqual(true); expect(isFinite(910)).toEqual(true); expect(isFinite(0)).toEqual(true); }) test('isNaN', () => { expect(isNaN(0)).toEqual(false); }) test('toPrecision', () => { expect(123.456.toPrecision(4)).toEqual("123.5"); expect(0.004.toPrecision(4)).toEqual("0.004000"); // expect(1.23e5.toPrecision(4)).toEqual("1.230e+5"); }) test('toString', () => { expect((10).toString()).toEqual("10"); expect((17).toString()).toEqual("17"); expect((17.2).toString()).toEqual("17.2"); expect((6).toString(2)).toEqual("110"); expect((254).toString(16)).toEqual("fe"); expect((-10).toString(2)).toEqual("-1010"); expect((-0xff).toString(2)).toEqual("-11111111"); }) test('valueOf', () => { expect((10).valueOf()).toEqual(10); expect((-10.2).valueOf()).toEqual(-10.2); expect((0xf).valueOf()).toEqual(15); }) // 数据转换操作示例 test('toX', () => { let num = 10.123 expect(num.toInt()).toEqual(10); expect(num.toDouble()).toEqual(10.123); }) }) }