【Rust】string型から指定した桁数の小数点に切り抜く

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を使うのが良さそう