summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2019-03-21 14:09:25 +0800
committerxuri <xuri.me@gmail.com>2019-03-21 14:09:25 +0800
commit70b1a29165867643e961ceef27592349a122ab7c (patch)
tree0f35760bab29f9966966ab78e6cd5681a16af910
parentb2c12d784e94bfb14da800962c769f5a0f6f783e (diff)
Use bitSize for float32 type numbers conversion, relate PR #361
-rw-r--r--cell.go16
-rw-r--r--cell_test.go2
-rw-r--r--date_test.go4
3 files changed, 12 insertions, 10 deletions
diff --git a/cell.go b/cell.go
index 3a3474f..a3a1c19 100644
--- a/cell.go
+++ b/cell.go
@@ -143,18 +143,20 @@ func (f *File) SetCellBool(sheet, axis string, value bool) {
}
// SetCellFloat sets a floating point value into a cell. The prec parameter
-// specifies how many places after the decimal will be shown while -1
-// is a special value that will use as many decimal places as necessary to
-// represent the number. bitSize is 32 or 64 depending on if a float32 or float64
-// was originally used for the value
-// var x float32 = 1.325
-// f.SetCellFloat("Sheet1", "A1", float64(x), 2, 32)
+// specifies how many places after the decimal will be shown while -1 is a
+// special value that will use as many decimal places as necessary to
+// represent the number. bitSize is 32 or 64 depending on if a float32 or
+// float64 was originally used for the value. For Example:
+//
+// var x float32 = 1.325
+// f.SetCellFloat("Sheet1", "A1", float64(x), 2, 32)
+//
func (f *File) SetCellFloat(sheet, axis string, value float64, prec, bitSize int) {
xlsx := f.workSheetReader(sheet)
cellData, col, _ := f.prepareCell(xlsx, sheet, axis)
cellData.S = f.prepareCellStyle(xlsx, col, cellData.S)
cellData.T = ""
- cellData.V = strconv.FormatFloat(value, 'f', prec, 64)
+ cellData.V = strconv.FormatFloat(value, 'f', prec, bitSize)
}
// SetCellStr provides a function to set string type value of a cell. Total
diff --git a/cell_test.go b/cell_test.go
index ba326d9..12efc17 100644
--- a/cell_test.go
+++ b/cell_test.go
@@ -66,7 +66,7 @@ func TestSetCellFloat(t *testing.T) {
func ExampleFile_SetCellFloat() {
f := NewFile()
- var x float64 = 3.14159265
+ var x = 3.14159265
f.SetCellFloat("Sheet1", "A1", x, 2, 64)
fmt.Println(f.GetCellValue("Sheet1", "A1"))
// Output: 3.14
diff --git a/date_test.go b/date_test.go
index 709fb00..3ec0b69 100644
--- a/date_test.go
+++ b/date_test.go
@@ -38,14 +38,14 @@ func TestTimeToExcelTime(t *testing.T) {
}
func TestTimeToExcelTime_Timezone(t *testing.T) {
- msk, err := time.LoadLocation("Europe/Moscow")
+ location, err := time.LoadLocation("America/Los_Angeles")
if !assert.NoError(t, err) {
t.FailNow()
}
for i, test := range trueExpectedDateList {
t.Run(fmt.Sprintf("TestData%d", i+1), func(t *testing.T) {
assert.Panics(t, func() {
- timeToExcelTime(test.GoValue.In(msk))
+ timeToExcelTime(test.GoValue.In(location))
}, "Time: %s", test.GoValue.String())
})
}