Skip to content

Instantly share code, notes, and snippets.

@davidvthecoder
Created April 9, 2014 19:58

Revisions

  1. davidvthecoder created this gist Apr 9, 2014.
    25 changes: 25 additions & 0 deletions round.go
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    package main

    import (
    "log"
    "math"
    )

    func Round(val float64, roundOn float64, places int ) (newVal float64) {
    var round float64
    pow := math.Pow(10, float64(places))
    digit := pow * val
    _, div := math.Modf(digit)
    if div >= roundOn {
    round = math.Ceil(digit)
    } else {
    round = math.Floor(digit)
    }
    newVal = round / pow
    return
    }

    func main() {
    log.Println(Round(123.555555, .5, 3))
    log.Println(Round(123.558, .5, 2))
    }