dec

package module
v0.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2023 License: GPL-3.0 Imports: 6 Imported by: 0

README

Dec

Package dec sirve para trabajar con decimales sin tener que preocuparse por la exactitud del punto flotante en la base de datos.

Tipos

  • D2: usa dos decimales, ideal para trabajar con registros contables.
  • D4: cuatro decimales, para otros números que necesitan más precisión.

Funciones

Se agregaron dos funciones adicionales:

  • EnPalabras: devuelve el número escrito en palabras (ideal para recibos)
  • ExportarParaCSV: devuelve un string configurable para generar archivos planos.

Bases de datos y JSON

Al funcionar con un int64 subyacente, no hay problemas para Marshal ni Unmarshal.

Dependencias

Contribuciones bienvenidas.

Documentation

Overview

Package dec sirve para trabajar con decimales sin tener que preocuparse por la exactitud del punto floatante. Se crearon dos tipos D2 (dos decimales) y D4 (cuatro decimales)

Index

Constants

This section is empty.

Variables

View Source
var (
	// SeparadorDecimal es el carácter que se usa para seprar los enteros
	// de los decimales en un número.
	SeparadorDecimal = ","

	// SeparadorDeMiles es el caracter que se usa para separar los millares.
	SeparadorDeMiles = "."
)

Functions

This section is empty.

Types

type D2

type D2 int64

D2 sirve registros contables, tiene dos decimales.

func NewD2

func NewD2(n float64) D2

NewD2 toma el float y lo redondea a dos decimales

func (D2) EnPalabras

func (d D2) EnPalabras(moneda string) string

EnPalabras devuelve PESOS TRESCIENTOS CUARENTA Y CINCO C/20/100.-

func (D2) ExportarParaCSV

func (d D2) ExportarParaCSV(
	cantidadDecimales int,
	separadorMiles string,
	separadorDecimal string,
	largo int,
	llenarCon string,
	alineadoDerecha bool) (rtdo string)

ExportarParaCSV sirve para cuando se debe generar un string con el número generalmete para archivos CSV.

func (D2) Float

func (d D2) Float() float64

Float devuelve el número como float con la coma donde corresponde.

func (D2) MarshalJSON

func (d D2) MarshalJSON() (by []byte, err error)

MarshalJSON es para tomar un D2 y pasarlo a JSON.

func (*D2) Scan

func (d *D2) Scan(value interface{}) error

Scan satisface la interfaz de package sql, para correr las comas los lugares necesarios.

func (D2) String

func (d D2) String() string

String devuelve 334.897,98

func (*D2) UnmarshalJSON

func (d *D2) UnmarshalJSON(input []byte) error

UnmarshalJSON Es para pasar un Fecha => JSON

func (D2) Value

func (d D2) Value() (driver.Value, error)

Value satisface la interface de package sql, para persistir el núnero como debe.

type D4

type D4 int64

D4 sirve para registros que necesita los 4 decimales (precios unitarios, descuentos, tipos de cambio, etc.)

func NewD4

func NewD4(n float64) D4

NewD4 redondea a cuatro decimales y le corre la coma para contabilizarlo como corresponde.

func (D4) Float

func (d D4) Float() float64

Float devuelve el número como float con la coma donde corresponde.

func (D4) MarshalJSON

func (d D4) MarshalJSON() (by []byte, err error)

MarshalJSON es para tomar un D2 y pasarlo a JSON.

func (*D4) Scan

func (d *D4) Scan(value interface{}) error

Scan satisface la interfaz de package sql, para correr las comas los lugares necesarios.

func (D4) String

func (d D4) String() string

String devuelve 334.897,9815

func (D4) StringDos

func (d D4) StringDos() string

StringDos devuelve 334.897,98

func (*D4) UnmarshalJSON

func (d *D4) UnmarshalJSON(input []byte) error

UnmarshalJSON Es para pasar un Fecha => JSON

func (D4) Value

func (d D4) Value() (driver.Value, error)

Value satisface la interface de package sql, para persistir el núnero como debe.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL