- 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
- Python快樂編程:人工智能深度學習基礎
- 零起步玩轉掌控板與Mind+
- ReSharper Essentials
- Hands-On Enterprise Automation with Python.
- Solr Cookbook(Third Edition)
- Vue.js 2 Web Development Projects
- Azure Serverless Computing Cookbook
- 移動增值應用開發技術導論
- C語言程序設計實訓教程與水平考試指導
- 深度探索Go語言:對象模型與runtime的原理特性及應用
- Learning JavaScript Data Structures and Algorithms(Second Edition)
- Python青少年趣味編程
- 貫通Tomcat開發
- 從零開始學UI:概念解析、實戰提高、突破規則
- Test-Driven iOS Development with Swift