- 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
- SPSS數據挖掘與案例分析應用實踐
- 測試驅動開發:入門、實戰與進階
- 新一代通用視頻編碼H.266/VVC:原理、標準與實現
- 編程卓越之道(卷3):軟件工程化
- 神經網絡編程實戰:Java語言實現(原書第2版)
- 征服RIA
- 嚴密系統設計:方法、趨勢與挑戰
- jQuery炫酷應用實例集錦
- Python語言實用教程
- iOS自動化測試實戰:基于Appium、Python與Pytest
- Visual Foxpro 9.0數據庫程序設計教程
- Python程序設計與算法基礎教程(第2版)(微課版)
- OpenCV Android Programming By Example
- 絕密原型檔案:看看專業產品經理的原型是什么樣
- Apache Kafka 1.0 Cookbook