📜  Julia 中的格式说明符

📅  最后修改于: 2021-11-25 04:41:21             🧑  作者: Mango

格式说明符用于格式化编程语言的输入和输出。它告诉编译器传递给它的输入的数据类型。 Julia 包含一个包 Printf 并使用其宏 @printf 接受要格式化的输入字符串值并接受参数作为变量应用于字符串。
@printf 是 Julia 中的一个宏,其语法如下:

@printf([io::IOstream], "%Fmt", args...)

空格格式说明符

它用于在指定它的变量值之前打印一个空格。变量值可以属于任何数据类型、数字或字符串。

Julia
# declaring a variable string  
val = "Space"
  
# importing module
using Printf
  
# adding space identifier after a string “Added” 
@printf("Added, % s \n", val)


Julia
# declaring numeric value 
num1 = 111
  
# importing required module
using Printf
  
# adding positive sign before numerical value
@printf("Adding %+d", num1)
  
# declaring floating point number
num2 = 10.1
  
# adding positive sign before floating number
@printf("Adding positive sign %+d", num2)


Julia
# importing module
using Printf
  
# declaring a floating point number
num1 = 10.1234
  
# left justifying the number 
@printf("|%-16.4f|", num1)


Julia
# importing module
using Printf
  
# embedded in numerical values
@printf("2 %% 8 = 0")
  
# embedding in strings 
@printf("hello %% gfg ")


Julia
# importing module
using Printf
  
# converting 100 to lower case hexadecimal
@printf("% x", 100)
  
# converting 13 to lower case hexadecimal
@printf("% x", 13)
  
# converting 234 to upper case hexadecimal
@printf("% X", 234)


Julia
# importing module
using Printf
  
# converting 372 from decimal 
# to octal representation
@printf("% o", 372)
  
# converting 9 to octal
@printf("% o", 9)


Julia
using Printf
  
# converting numerical and floating numbers
# scientific notation in lower case
@printf("% e", 100)
@printf("% e", 12.56)
  
# converting numerical and floating numbers
#  scientific notation in upper case
@printf("% E", 100)
@printf("% E", 99.78)


Julia
using Printf
  
# converting numerical to decimal point
@printf("% f", 100)
  
# converting floating to decimal point
@printf("% f", 12.56)
  
# printing decimal number upto 4 places only
@printf("%.4f", 12.56)


输出:

Added, Space 

+ 符号格式说明符

使用 %+d 格式将数值指定为参数时,会在其前面添加“+”号。在指定浮点数作为参数时,只有小数点之前的部分作为输出返回,带有 +ve 符号。

朱莉娅

# declaring numeric value 
num1 = 111
  
# importing required module
using Printf
  
# adding positive sign before numerical value
@printf("Adding %+d", num1)
  
# declaring floating point number
num2 = 10.1
  
# adding positive sign before floating number
@printf("Adding positive sign %+d", num2)

输出:

+111
+11

浮点数转换为带正号的整数。

左对齐 (-) 说明符

返回的输出可以通过在符号 % 后应用减号来显式左对齐。下面的代码,例如, % 16.4f 证明在一个 16 个字符的字段中传递的参数有两个小数位。

朱莉娅

# importing module
using Printf
  
# declaring a floating point number
num1 = 10.1234
  
# left justifying the number 
@printf("|%-16.4f|", num1)

输出:

|10.1234         |

%% 格式说明符

此格式说明符可用于插入 % 符号。没有明确指定参数。它可以用于字符串或数字。

朱莉娅

# importing module
using Printf
  
# embedded in numerical values
@printf("2 %% 8 = 0")
  
# embedding in strings 
@printf("hello %% gfg ")

输出:

2 % 8 = 0
hello % gfg

%x %X 格式说明符

此表示用于提供小写或大写字符%x 小写和 %X 大写的指定数值的十六进制数。在此参数列表中,只能将数值指定为参数。

朱莉娅

# importing module
using Printf
  
# converting 100 to lower case hexadecimal
@printf("% x", 100)
  
# converting 13 to lower case hexadecimal
@printf("% x", 13)
  
# converting 234 to upper case hexadecimal
@printf("% X", 234)

输出:

64
d
EA

%o 格式说明符

此表示用于表示指定为八进制形式的参数的数字。要转换的变量不能是浮点数。

朱莉娅

# importing module
using Printf
  
# converting 372 from decimal 
# to octal representation
@printf("% o", 372)
  
# converting 9 to octal
@printf("% o", 9)

输出:

564
11

%e %E 格式说明符

此格式说明符用于以科学的方式表达值,其中 %E 以大写字符表示输出,而 %e 以小写字符。

朱莉娅

using Printf
  
# converting numerical and floating numbers
# scientific notation in lower case
@printf("% e", 100)
@printf("% e", 12.56)
  
# converting numerical and floating numbers
#  scientific notation in upper case
@printf("% E", 100)
@printf("% E", 99.78)

输出:

1.000000e+02
1.256000e+01
1.000000E+02
9.978000E+01

%f 格式说明符

用于将数字转换为浮点整数值。适用于数字和小数点数字。默认情况下,它在小数点后正好附加 6 位数字。我们可以在 %.xf 参数中指定位数,其中 x 表示位数。

朱莉娅

using Printf
  
# converting numerical to decimal point
@printf("% f", 100)
  
# converting floating to decimal point
@printf("% f", 12.56)
  
# printing decimal number upto 4 places only
@printf("%.4f", 12.56)

输出:

100.000000
12.560000
12.5600