Printf

يوفر نموذج Printf دوال إخراج منسقة مشابهة لدالة printf في مكتبة C القياسية. يسمح بالطباعة المنسقة إلى دفق إخراج أو إلى سلسلة نصية.

Printf.@printfMacro
@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

بدءًا من Julia 1.8، يتم حساب عرض %s (سلسلة) و %c (حرف) باستخدام textwidth، والذي يتجاهل على سبيل المثال الأحرف ذات العرض الصفري (مثل الأحرف المدمجة لعلامات التشكيل) ويعتبر بعض الأحرف "العريضة" (مثل الرموز التعبيرية) بعرض 2.

Julia 1.10

تتطلب محددات العرض الديناميكية مثل %*s و %0*.*f Julia 1.10.

source
Printf.@sprintfMacro
@sprintf("%Fmt", args...)

إرجاع @printf الناتج المنسق كسلسلة.

أمثلة

julia> @sprintf "this is a %s %15.1f" "test" 34.567
"this is a test            34.6"
source
Printf.FormatType
Printf.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 في وقت توسيع الماكرو.

Julia 1.6

يتطلب Printf.Format Julia 1.6 أو أحدث.

source
Printf.formatFunction
Printf.format(f::Printf.Format, args...) => String
Printf.format(io::IO, f::Printf.Format, args...)

قم بتطبيق كائن تنسيق printf f على args المقدمة وأعد السلسلة المنسقة (الطريقة الأولى)، أو اطبع مباشرة إلى كائن io (الطريقة الثانية). انظر @printf لمزيد من التفاصيل حول دعم C printf.

source