- Julia 1.0 Programming Complete Reference Guide
- Ivo Balbaert Adrian Salceanu
- 347字
- 2021-06-24 14:21:42
Formatting numbers and strings
The @printf macro from the Printf package (we'll look deeper into macros in Chapter 7, Metaprogramming in Julia) takes a format string and one or more variables to substitute into this string while being formatted. It works in a manner similar to printf in C. You can write a format string that includes placeholders for variables, for example, as follows:
julia> name = "Pascal" julia> using Printf julia> @printf("Hello, %s \n", name) # returns Hello, Pascal
Because @printf now lives in another package, you have to do this using Printf first (prior to 1.0, it belonged to Base).
If you need a string as the return value, use the macro @sprintf.
The following formatting.jl script shows the most common formats:
using Printf # d for integers: @printf("%d\n", 1e5) #> 100000 x = 7.35679 # f = float format, rounded if needed: @printf("x = %0.3f\n", x) #> 7.357 aa = 1.5231071779744345 bb = 33.976886930000695 @printf("%.2f %.2f\n", aa, bb) #> 1.52 33.98 # or to create another string: str = @sprintf("%0.3f", x) show(str) #> "7.357" println() # e = scientific format with e: @printf("%0.6e\n", x) #> 7.356790e+00 # c = for characters: @printf("output: %c\n", 'α') #> output: α # s for strings: @printf("%s\n", "I like Julia") # right justify: @printf("%50s\n", "text right justified!") # p for pointers: @printf("a pointer: %p\n", 1e10) #> a pointer: 0x00000002540be400
The following output is obtained upon running the preceding script:
100000 x = 7.357 1.52 33.98 "7.357" 7.356790e+00 output: α I like Julia text right justified! a pointer: 0x00000002540be400
A special kind of string is VersionNumber, which the form v"0.3.0" (note the preceding v), with optional additional details. They can be compared, and are used for Julia's versions, but also in the package versions and dependency mechanism of Pkg (refer to the Packages section of Chapter 1, Installing the Julia Platform). If you have the code that works differently for different versions, use something as follows:
if v"0.5" <= VERSION < v"0.6-" # do something specific to 0.5 release series end
- Learning C# by Developing Games with Unity 2020
- LabVIEW入門與實戰(zhàn)開發(fā)100例
- 編程卓越之道(卷3):軟件工程化
- Mastering Python Scripting for System Administrators
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- UI智能化與前端智能化:工程技術(shù)、實現(xiàn)方法與編程思想
- Elasticsearch for Hadoop
- Mastering Ext JS
- Apache Spark 2.x for Java Developers
- RabbitMQ Essentials
- OpenCV 4計算機(jī)視覺項目實戰(zhàn)(原書第2版)
- Cocos2d-x by Example:Beginner's Guide(Second Edition)
- 后臺開發(fā):核心技術(shù)與應(yīng)用實踐
- 算法圖解
- 超好玩的Scratch 3.5少兒編程