📄 format.test
字号:
# Commands covered: format## This file contains a collection of tests for one or more of the Tcl# built-in commands. Sourcing this file into Tcl runs the tests and# generates output for errors. No output means no errors were found.## Copyright (c) 1991-1994 The Regents of the University of California.# Copyright (c) 1994 Sun Microsystems, Inc.## See the file "license.terms" for information on usage and redistribution# of this file, and for a DISCLAIMER OF ALL WARRANTIES.## SCCS: @(#) format.test 1.29 97/09/03 15:51:02if {[string compare test [info procs test]] == 1} then {source defs}# The following code is needed because some versions of SCO Unix have# a round-off error in sprintf which would cause some of the tests to# fail. Someday I hope this code shouldn't be necessary (code added# 9/9/91).set roundOffBug 0if {"[format %7.1e 68.514]" == "6.8e+01"} { puts stdout "Note: this system has a sprintf round-off bug, some tests skipped\n" set roundOffBug 1}test format-1.1 {integer formatting} { format "%*d %d %d %d" 6 34 16923 -12 -1} { 34 16923 -12 -1}test format-1.2 {integer formatting} {nonPortable} { format "%4d %4d %4d %4d %d %#x %#X" 6 34 16923 -12 -1 14 12} { 6 34 16923 -12 -1 0xe 0XC}# %u output depends on word length, so this test is not portable.test format-1.3 {integer formatting} {nonPortable} { format "%4u %4u %4u %4u %d %#o" 6 34 16923 -12 -1 0} { 6 34 16923 4294967284 -1 0}test format-1.4 {integer formatting} { format "%-4d %-4i %-4d %-4ld" 6 34 16923 -12 -1} {6 34 16923 -12 }test format-1.5 {integer formatting} { format "%04d %04d %04d %04i" 6 34 16923 -12 -1} {0006 0034 16923 -012}test format-1.6 {integer formatting} { format "%00*d" 6 34} {000034}# Printing negative numbers in hex or octal format depends on word# length, so these tests are not portable.test format-1.7 {integer formatting} {nonPortable} { format "%4x %4x %4x %4x" 6 34 16923 -12 -1} { 6 22 421b fffffff4}test format-1.8 {integer formatting} {nonPortable} { format "%#x %#X %#X %#x" 6 34 16923 -12 -1} {0x6 0X22 0X421B 0xfffffff4}test format-1.9 {integer formatting} {nonPortable} { format "%#20x %#20x %#20x %#20x" 6 34 16923 -12 -1} { 0x6 0x22 0x421b 0xfffffff4}test format-1.10 {integer formatting} {nonPortable} { format "%-#20x %-#20x %-#20x %-#20x" 6 34 16923 -12 -1} {0x6 0x22 0x421b 0xfffffff4 }test format-1.11 {integer formatting} {nonPortable} { format "%-#20o %#-20o %#-20o %#-20o" 6 34 16923 -12 -1} {06 042 041033 037777777764 }test format-2.1 {string formatting} { format "%s %s %c %s" abcd {This is a very long test string.} 120 x} {abcd This is a very long test string. x x}test format-2.2 {string formatting} { format "%20s %20s %20c %20s" abcd {This is a very long test string.} 120 x} { abcd This is a very long test string. x x}test format-2.3 {string formatting} { format "%.10s %.10s %c %.10s" abcd {This is a very long test string.} 120 x} {abcd This is a x x}test format-2.4 {string formatting} { format "%s %s %% %c %s" abcd {This is a very long test string.} 120 x} {abcd This is a very long test string. % x x}test format-3.1 {e and f formats} { format "%e %e %e %e" 34.2e12 68.514 -.125 -16000. .000053} {3.420000e+13 6.851400e+01 -1.250000e-01 -1.600000e+04}test format-3.2 {e and f formats} { format "%20e %20e %20e %20e" 34.2e12 68.514 -.125 -16000. .000053} { 3.420000e+13 6.851400e+01 -1.250000e-01 -1.600000e+04}if {!$roundOffBug} { test format-3.3 {e and f formats} { format "%.1e %.1e %.1e %.1e" 34.2e12 68.514 -.126 -16000. .000053 } {3.4e+13 6.9e+01 -1.3e-01 -1.6e+04} test format-3.4 {e and f formats} { format "%020e %020e %020e %020e" 34.2e12 68.514 -.126 -16000. .000053 } {000000003.420000e+13 000000006.851400e+01 -00000001.260000e-01 -00000001.600000e+04} test format-3.5 {e and f formats} { format "%7.1e %7.1e %7.1e %7.1e" 34.2e12 68.514 -.126 -16000. .000053 } {3.4e+13 6.9e+01 -1.3e-01 -1.6e+04} test format-3.6 {e and f formats} { format "%f %f %f %f" 34.2e12 68.514 -.125 -16000. .000053 } {34200000000000.000000 68.514000 -0.125000 -16000.000000}}test format-3.7 {e and f formats} {nonPortable} { format "%.4f %.4f %.4f %.4f %.4f" 34.2e12 68.514 -.125 -16000. .000053} {34200000000000.0000 68.5140 -0.1250 -16000.0000 0.0001}test format-3.8 {e and f formats} { format "%.4e %.5e %.6e" -9.99996 -9.99996 9.99996} {-1.0000e+01 -9.99996e+00 9.999960e+00}test format-3.9 {e and f formats} { format "%.4f %.5f %.6f" -9.99996 -9.99996 9.99996} {-10.0000 -9.99996 9.999960}test format-3.10 {e and f formats} { format "%20f %-20f %020f" -9.99996 -9.99996 9.99996} { -9.999960 -9.999960 0000000000009.999960}test format-3.11 {e and f formats} { format "%-020f %020f" -9.99996 -9.99996 9.99996} {-9.999960 -000000000009.999960}test format-3.12 {e and f formats} { format "%.0e %#.0e" -9.99996 -9.99996 9.99996} {-1e+01 -1.e+01}test format-3.13 {e and f formats} { format "%.0f %#.0f" -9.99996 -9.99996 9.99996} {-10 -10.}test format-3.14 {e and f formats} { format "%.4f %.5f %.6f" -9.99996 -9.99996 9.99996} {-10.0000 -9.99996 9.999960}test format-3.15 {e and f formats} { format "%3.0f %3.0f %3.0f %3.0f" 1.0 1.1 1.01 1.001} { 1 1 1 1}test format-3.16 {e and f formats} { format "%3.1f %3.1f %3.1f %3.1f" 0.0 0.1 0.01 0.001} {0.0 0.1 0.0 0.0}test format-4.1 {g-format} { format "%.3g" 12341.0} {1.23e+04}test format-4.2 {g-format} { format "%.3G" 1234.12345} {1.23E+03}test format-4.3 {g-format} { format "%.3g" 123.412345} {123}test format-4.4 {g-format} { format "%.3g" 12.3412345} {12.3}test format-4.5 {g-format} { format "%.3g" 1.23412345} {1.23}test format-4.6 {g-format} { format "%.3g" 1.23412345} {1.23}test format-4.7 {g-format} { format "%.3g" .123412345} {0.123}test format-4.8 {g-format} { format "%.3g" .012341} {0.0123}test format-4.9 {g-format} { format "%.3g" .0012341} {0.00123}test format-4.10 {g-format} { format "%.3g" .00012341} {0.000123}test format-4.11 {g-format} { format "%.3g" .00001234} {1.23e-05}test format-4.12 {g-format} { format "%.4g" 9999.6} {1e+04}test format-4.13 {g-format} { format "%.4g" 999.96} {1000}test format-4.14 {g-format} { format "%.3g" 1.0} {1}test format-4.15 {g-format} { format "%.3g" .1} {0.1}test format-4.16 {g-format} { format "%.3g" .01} {0.01}test format-4.17 {g-format} { format "%.3g" .001} {0.001}test format-4.18 {g-format} { format "%.3g" .00001} {1e-05}test format-4.19 {g-format} { format "%#.3g" 1234.0} {1.23e+03}test format-4.20 {g-format} { format "%#.3G" 9999.5} {1.00E+04}test format-5.1 {floating-point zeroes} { format "%e %f %g" 0.0 0.0 0.0 0.0} {0.000000e+00 0.000000 0}test format-5.2 {floating-point zeroes} { format "%.4e %.4f %.4g" 0.0 0.0 0.0 0.0} {0.0000e+00 0.0000 0}test format-5.3 {floating-point zeroes} { format "%#.4e %#.4f %#.4g" 0.0 0.0 0.0 0.0} {0.0000e+00 0.0000 0.000}test format-5.4 {floating-point zeroes} { format "%.0e %.0f %.0g" 0.0 0.0 0.0 0.0} {0e+00 0 0}test format-5.5 {floating-point zeroes} { format "%#.0e %#.0f %#.0g" 0.0 0.0 0.0 0.0} {0.e+00 0. 0.}test format-5.6 {floating-point zeroes} { format "%3.0f %3.0f %3.0f %3.0f" 0.0 0.0 0.0 0.0} { 0 0 0 0}test format-5.7 {floating-point zeroes} { format "%3.0f %3.0f %3.0f %3.0f" 1.0 1.1 1.01 1.001} { 1 1 1 1}test format-5.8 {floating-point zeroes} { format "%3.1f %3.1f %3.1f %3.1f" 0.0 0.1 0.01 0.001} {0.0 0.1 0.0 0.0}test format-6.1 {various syntax features} { format "%*.*f" 12 3 12.345678901
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -