Stringからf32に変換するには、stdのparseを使用する
https://doc.rust-lang.org/std/primitive.str.html#method.parse
println!("{}", btc_price); println!("{}", btc_price.parse::<f32>().unwrap());
Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.32s
Running `target/debug/wallet`
96058.4713474727569803
96058.47
良いね^^
f32の桁数を合わせたいときは
println!("{}", btc_price); println!("{}", (btc_price.parse::<f32>().unwrap() * 1000.0).round() / 1000.0); println!("{}", (eth_price.parse::<f32>().unwrap() * 1000.0).round() / 1000.0); println!("{}", (sol_price.parse::<f32>().unwrap() * 1000.0).round() / 1000.0); println!("{}", (ada_price.parse::<f32>().unwrap() * 1000.0).round() / 1000.0); println!("{}", (avax_price.parse::<f32>().unwrap() * 1000.0).round() / 1000.0);
96176.1705240345753092
96176.17
2719.895
179.643
0.8
24.796
### Teraテンプレート側で制御する場合
round
https://keats.github.io/tera/docs/#round
<h5 class="card-market">{{eth_price | round(method="ceil", precision=2) }} usd</h5>
2714.98
サーバ側ではなく、teraでroundを使うのが良さそう