Printf
يوفر نموذج Printf
دوال إخراج منسقة مشابهة لدالة printf
في مكتبة C القياسية. يسمح بالطباعة المنسقة إلى دفق إخراج أو إلى سلسلة نصية.
Printf.@printf
— Macro@printf([io::IO], "%Fmt", args...)
اطبع args
باستخدام سلسلة تنسيق نمط printf
من C. يمكن تمرير IO
كأول وسيط لإعادة توجيه الإخراج.
أمثلة
julia> @printf "Hello %s" "world"
Hello world
julia> @printf "Scientific notation %e" 1.234
Scientific notation 1.234000e+00
julia> @printf "Scientific notation three digits %.3e" 1.23456
Scientific notation three digits 1.235e+00
julia> @printf "Decimal two digits %.2f" 1.23456
Decimal two digits 1.23
julia> @printf "Padded to length 5 %5i" 123
Padded to length 5 123
julia> @printf "Padded with zeros to length 6 %06i" 123
Padded with zeros to length 6 000123
julia> @printf "Use shorter of decimal or scientific %g %g" 1.23 12300000.0
Use shorter of decimal or scientific 1.23 1.23e+07
julia> @printf "Use dynamic width and precision %*.*f" 10 2 0.12345
Use dynamic width and precision 0.12
للحصول على مواصفة منهجية للتنسيق، انظر هنا. انظر أيضًا @sprintf
للحصول على النتيجة كـ String
بدلاً من طباعتها.
التحذيرات
يتم طباعة Inf
و NaN
بشكل متسق كـ Inf
و NaN
للعلامات %a
، %A
، %e
، %E
، %f
، %F
، %g
، و %G
. علاوة على ذلك، إذا كان رقم النقطة العائمة قريبًا بالتساوي من القيم الرقمية لسلسلتين محتملتين من الإخراج، يتم اختيار سلسلة الإخراج الأبعد عن الصفر.
أمثلة
julia> @printf("%f %F %f %F", Inf, Inf, NaN, NaN)
Inf Inf NaN NaN
julia> @printf "%.0f %.1f %f" 0.5 0.025 -0.0078125
0 0.0 -0.007812
بدءًا من Julia 1.8، يتم حساب عرض %s
(سلسلة) و %c
(حرف) باستخدام textwidth
، والذي يتجاهل على سبيل المثال الأحرف ذات العرض الصفري (مثل الأحرف المدمجة لعلامات التشكيل) ويعتبر بعض الأحرف "العريضة" (مثل الرموز التعبيرية) بعرض 2
.
تتطلب محددات العرض الديناميكية مثل %*s
و %0*.*f
Julia 1.10.
Printf.@sprintf
— Macro@sprintf("%Fmt", args...)
إرجاع @printf
الناتج المنسق كسلسلة.
أمثلة
julia> @sprintf "this is a %s %15.1f" "test" 34.567
"this is a test 34.6"
Printf.Format
— TypePrintf.Format(format_str)
أنشئ كائن تنسيق متوافق مع printf في C يمكن استخدامه لتنسيق القيم.
يمكن أن يتضمن الإدخال format_str
أي حرف محدد تنسيق صالح ومعدلات.
يمكن تمرير كائن Format
إلى Printf.format(f::Format, args...)
لإنتاج سلسلة منسقة، أو Printf.format(io::IO, f::Format, args...)
لطباعة السلسلة المنسقة مباشرة إلى io
.
لراحة المستخدم، يمكن استخدام شكل ماكرو السلسلة Printf.format"..."
لبناء كائن Printf.Format
في وقت توسيع الماكرو.
يتطلب Printf.Format
Julia 1.6 أو أحدث.
Printf.format
— FunctionPrintf.format(f::Printf.Format, args...) => String
Printf.format(io::IO, f::Printf.Format, args...)
قم بتطبيق كائن تنسيق printf f
على args
المقدمة وأعد السلسلة المنسقة (الطريقة الأولى)، أو اطبع مباشرة إلى كائن io
(الطريقة الثانية). انظر @printf
لمزيد من التفاصيل حول دعم C printf
.