func fmtFrac(buf []byte, v uint64, prec int) (nw int, nv uint64) {
	// Omit trailing zeros up to and including decimal point.
	w := len(buf)
	print := false
	for i := 0; i < prec; i++ {
		digit := v % 10
		print = print || digit != 0
		if print {
			w--
			buf[w] = byte(digit) + '0'
		}
		v /= 10
	}
	if print {
		w--
		buf[w] = '.'
	}
	return w, v
}
func fmtFrac(buf []byte, v uint64, prec int) (nw int, nv uint64) {
	
	w := len(buf)
	print := false
	for i := 0; i < prec; i++ {
		digit := v % 10
		print = print || digit != 0
		if print {
			w--
			buf[w] = byte(digit) + '0'
		}
		v /= 10
	}
	if print {
		w--
		buf[w] = '.'
	}
	return w, v
}
func fmtFrac ( buf [ ] byte , v uint64 , prec int ) ( nw int , nv uint64 ) { // Omit trailing zeros up to and including decimal point. w := len ( buf ) print := false for i := 0 ; i < prec ; i ++ { digit := v % 10 print = print || digit != 0 if print { w -- buf [ w ] = byte ( digit ) + '0' } v /= 10 } if print { w -- buf [ w ] = '.' } return w , v }
// fmtFrac formats the fraction of v/10**prec (e.g., ".12345") into the
// tail of buf, omitting trailing zeros.  it omits the decimal
// point too when the fraction is 0.  It returns the index where the
// output bytes begin and the value v/10**prec.
fmtFrac formats the fraction of v / 10 ** prec ( e . g . . 12345 ) into the tail of buf omitting trailing zeros . it omits the decimal point too when the fraction is 0 . It returns the index where the output bytes begin and the value v / 10 ** prec .