# Formato de números

- Human documentation: [https://docs.univer.ai/es-ES/guides/sheets/features/core/numfmt](https://docs.univer.ai/es-ES/guides/sheets/features/core/numfmt)

- Agent Markdown: [https://docs.univer.ai/es-ES/guides/sheets/features/core/numfmt.md](https://docs.univer.ai/es-ES/guides/sheets/features/core/numfmt.md)

- Requested language: `es-ES`

- Content language: `es-ES`

- Documentation version: `1.2.0`

- Source: [sheets/features/core/numfmt.es-ES.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/sheets/features/core/numfmt.es-ES.mdx)

---

La función de formato de números en las hojas de cálculo se utiliza para controlar cómo se muestran los números. Permite a los usuarios personalizar el formato de visualización de los números, incluidos decimales, separadores de miles, porcentajes, símbolos de moneda y más. Al configurar el formato de número, los usuarios pueden hacer que los datos sean más fáciles de leer y comprender.

La acción de moneda de la barra de herramientas usa la propiedad `region` de Univer para elegir el símbolo y el formato. Si no se configura explícitamente, `region` sigue a `locale`:

```typescript
const univer = new Univer({
  locale: LocaleType.ES_ES,
  region: LocaleType.DE_DE,
})
```

> [!WARNING: Caution]
> La **sintaxis DBNum** no es compatible.



## Uso

En la interfaz de usuario, puede configurar el formato de número de la celda a través de la barra de menú. O configure el campo [`s.n.pattern`](https://docs.univer.ai/es-ES/guides/sheets/model/cell-data.md#number-format)[^number-format-value] en el objeto de datos de celda [`ICellData`](https://docs.univer.ai/es-ES/guides/sheets/model/cell-data.md).

```typescript
const data = {
  v: 123456.789,
  s: {
    n: {
      pattern: '#,##0.00',
    },
  },
}
```

**De forma predeterminada, el texto que comienza con 0 y los números que se pueden convertir a formatos de fecha se convierten automáticamente al formato de número correspondiente.**

Si no desea esto automático conversión, puede elegir uno de los siguientes métodos:

1. Establezca el formato del número de celda en formato de texto.

```typescript
import { DEFAULT_TEXT_FORMAT_EXCEL } from '@univerjs/core'

const data = {
  v: '012.0',
  s: {
    n: {
      pattern: DEFAULT_TEXT_FORMAT_EXCEL, // Text format
    },
  },
}
```

O use la API de Facade para configurar el formato de celda:

```typescript
fRange.setNumberFormat(DEFAULT_TEXT_FORMAT_EXCEL)
```

2. Agregue una comilla simple `'` antes de ingresar el número (esto se conoce como [forzar texto](https://docs.univer.ai/es-ES/guides/sheets/model/cell-data.md#cell-type)).

## Facade API

### Importación

> [!INFO: Plugin mode note]
> Solo el modo complemento requiere importar manualmente el paquete Facade. El modo preestablecido ya incluye el paquete Facade correspondiente, por lo que no se necesita ninguna importación adicional.

```typescript
import '@univerjs/sheets-numfmt/facade'
```

### Establecer formato de número

Para parámetros específicos, consulte: [https://support.microsoft.com/en-us/office/number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68](https://support.microsoft.com/en-us/office/number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68)

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Set the number format of the A1 cell to '#,##0.00'.
const fRange = fWorksheet.getRange('A1')
fRange.setValue(1234.567).setNumberFormat('#,##0.00')
fRange.getDisplayValue() // 1,234.57
```

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Set the number formats of the A1:B2 range.
const fRange = fWorksheet.getRange('A1:B2')
fRange.setValues([
  [1234.567, 0.1234],
  [45658, 0.9876],
]).setNumberFormats([
  ['#,##0.00', '0.00%'],
  ['yyyy-MM-DD', ''],
])
fRange.getDisplayValues() // [['1,234.57', '12.34%'], ['2025-01-01', 0.9876]]
```

### Obtener formato de número

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Get the number format of the top-left cell of the A1:B2 range.
const fRange = fWorksheet.getRange('A1:B2')
fRange.getNumberFormat()
```

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Get the number formats of the A1:B2 range.
const fRange = fWorksheet.getRange('A1:B2')
fRange.getNumberFormats()
```

### Establecer la configuración regional para el formato de número

Puede utilizar el método [`FWorkbook.setNumfmtLocal(local)`](https://docs.univer.ai/es-ES/reference/facade/workbook.md#setnumfmtlocal) para configurar la configuración regional para el formato de números.

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const fRange = fWorksheet.getRange('A1')
fRange.setValue(1234.567).setNumberFormat('#,##0.00')

// Set the locale en for number formatting.
fWorkbook.setNumfmtLocal('en')
fRange.getDisplayValue() // 1,234.57

// Set the locale de for number formatting.
fWorkbook.setNumfmtLocal('de')
fRange.getDisplayValue() // 1.234,57
```

## Desactivar alerta y marca de formato de texto

El complemento `UniverSheetsNumfmtPlugin` proporciona `disableTextFormatAlert` y `disableTextFormatMark` dos elementos de configuración para desactivar la alerta y la marca del formato de texto de celda.

Elija su modo e incorpore estas opciones a la inicialización existente. Conserve los demás complementos y la configuración de idioma, tema y contenedor; no registre dos veces el mismo complemento.

#### Modo de complemento

```typescript
import { UniverSheetsNumfmtPlugin } from '@univerjs/sheets-numfmt'

univer.registerPlugin(UniverSheetsNumfmtPlugin, {
  disableTextFormatAlert: true,
  disableTextFormatMark: true,
})
```

#### Modo preestablecido

```typescript
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import { createUniver } from '@univerjs/presets'

const { univerAPI } = createUniver({
  presets: [
    UniverSheetsCorePreset({
      disableTextFormatAlert: true,
      disableTextFormatMark: true,
    }),
  ],
})
```

[^number-format-value]: El formato numérico cambia la visualización, no el valor almacenado. El formato `0%` muestra `0.25` como `25%`, pero las fórmulas siguen calculando con `0.25`.

## Formatos de fecha localizados

El panel de fechas usa el `locale` actual de Univer para los formatos predefinidos y sus vistas previas. Los formatos personalizados existentes siguen disponibles. Al cambiar el rango seleccionado, el panel se actualiza para reflejar las celdas actuales.
