this post was submitted on 24 Oct 2023
7 points (100.0% liked)

Programming

13384 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

Any ideas? I am attempting to write a script that uses sed.

If done this way it fails

  • rmdec="sed 's/..................$//'"
  • i1xmr=$(echo "$i1p/$apiresponse*1000" |bc -l |$rmdec)

But if i do it this way it works

  • i1xmr=$(echo "$i1p/$apiresponse*1000" |bc -l | sed 's/..................$//')
you are viewing a single comment's thread
view the rest of the comments
[–] bizdelnick@lemmy.ml 1 points 1 year ago* (last edited 1 year ago) (1 children)

Again, you don't need sed for this, simply set scale=2 or how many digits after decimal point you need. Also you missed ! in the shebang (#!/bin/bash or #!/bin/sh).

[–] shortwavesurfer@monero.town 1 points 1 year ago (1 children)

So I need five digits after the decimal point, but then when I do the multiplication, I only want four digits in total. I did move "scale=" to five and that made the sed command in rmdec much shorter, but its still needed. I thought i could add "length=4" but that throws an error.

[–] bizdelnick@lemmy.ml 1 points 1 year ago (1 children)

Multiply before you divide to keep precision: 1000 * $i1p / $apiresponse

[–] shortwavesurfer@monero.town 1 points 1 year ago

Ah, that did the trick. Thanks