bangnaga

FormatAngka.js

Jun 6th, 2021 (edited)
56
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react';
  2. import { Text } from 'react-native';
  3.  
  4. export default class FormatNumber extends Component {
  5.  
  6.     constructor(props) {
  7.         super(props);
  8.         this.state = {
  9.         };
  10.     }
  11.     formatingDate() {
  12.         var format = this.props.format
  13.         var dateString = this.props.value.slice(0, 10)
  14.         var d = new Date(dateString)
  15.         var date = d.getDate()
  16.         var day = d.getDay()
  17.         var month = d.getMonth()
  18.         var year = d.getFullYear()
  19.         var namahariS = ''
  20.         var namahariL = ''
  21.         var namablnS = 'x'
  22.         var namablnL = ''
  23.         var bln = ''
  24.  
  25.         switch (day) {
  26.             case 0:
  27.                 namahariL = 'Minggu'
  28.                 namahariS = 'Min'
  29.                 break;
  30.             case 1:
  31.                 namahariL = 'Senin'
  32.                 namahariS = 'Sen'
  33.                 break;
  34.             case 2:
  35.                 namahariL = 'Selasa'
  36.                 namahariS = 'Sel'
  37.                 break;
  38.             case 3:
  39.                 namahariL = 'Rabu'
  40.                 namahariS = 'Rab'
  41.                 break;
  42.             case 4:
  43.                 namahariL = 'Kamis'
  44.                 namahariS = 'Kam'
  45.                 break;
  46.             case 5:
  47.                 namahariL = 'Jumat'
  48.                 namahariS = 'Jum'
  49.                 break;
  50.             case 6:
  51.                 namahariL = 'Sabtu'
  52.                 namahariS = 'Sab'
  53.                 break;
  54.  
  55.             default:
  56.                 break;
  57.         }
  58.  
  59.         switch (month) {
  60.             case 0:
  61.                 namablnL = 'Januari'
  62.                 namablnS = 'Jan'
  63.                 break;
  64.             case 1:
  65.                 namablnL = 'Pebruari'
  66.                 namablnS = 'Peb'
  67.                 break;
  68.             case 2:
  69.                 namablnL = 'Maret'
  70.                 namablnS = 'Mar'
  71.                 break;
  72.             case 3:
  73.                 namablnL = 'April'
  74.                 namablnS = 'Apr'
  75.                 break;
  76.             case 4:
  77.                 namablnL = 'Mei'
  78.                 namablnS = 'Mei'
  79.                 break;
  80.             case 5:
  81.                 namablnL = 'Juni'
  82.                 namablnS = 'Jun'
  83.                 break;
  84.             case 6:
  85.                 namablnL = 'Juli'
  86.                 namablnS = 'Jul'
  87.                 break;
  88.             case 7:
  89.                 namablnL = 'Agustus'
  90.                 namablnS = 'Ags'
  91.                 break;
  92.             case 8:
  93.                 namablnL = 'September'
  94.                 namablnS = 'Sep'
  95.                 break;
  96.             case 9:
  97.                 namablnL = 'Oktober'
  98.                 namablnS = 'Okt'
  99.                 break;
  100.             case 10:
  101.                 namablnL = 'November'
  102.                 namablnS = 'Nov'
  103.                 break;
  104.             case 11:
  105.                 namablnL = 'Desember'
  106.                 namablnS = 'Des'
  107.                 break;
  108.  
  109.             default:
  110.                 break;
  111.         }
  112.  
  113.         if (date.toString().length == 1) {
  114.             date = '0' + date
  115.         }        
  116.  
  117.         //tahun
  118.         format = format.replace('y', year.toString().slice(2, 4))
  119.         format = format.replace('Y', year)        
  120.  
  121.         //hari
  122.         format = format.replace('d', date)
  123.         format = format.replace('D', namahariS)
  124.         format = format.replace('N', namahariL)      
  125.  
  126.         //bulan
  127.         format = format.replace('n', bln)
  128.         format = format.replace('M', namablnL)
  129.         format = format.replace('F', namablnS)
  130.        
  131.         return format
  132.     }
  133.  
  134.     formatingNumber() {
  135.         var number = this.props.value
  136.         var newString = ''
  137.         var i = 1
  138.         var step = 1
  139.         var nilai = ''
  140.         var delimeter = '.'
  141.         var negatif = false
  142.      
  143.         number = parseFloat(number).toFixed(this.props.decimal)
  144.  
  145.         if (number < 0) {
  146.             number = number * -1
  147.             negatif = true
  148.         }
  149.  
  150.         var str = number.toString();
  151.  
  152.         for (var i = str.length - 1; i >= 0; i--) {
  153.             nilai += str.charAt(i)
  154.             if (step == 3) {            
  155.                 nilai += delimeter
  156.                 step = 1
  157.             } else {
  158.                 step += 1
  159.             }
  160.         }
  161.  
  162.         newString = ''
  163.         for (var i = nilai.length - 1; i >= 0; i--) {
  164.             newString += nilai.charAt(i)
  165.         }
  166.  
  167.         if (newString.charAt(0) == delimeter) {
  168.             newString = newString.slice(1)
  169.         }
  170.  
  171.         if (negatif) {
  172.             return '(' + newString + ')'
  173.         }
  174.         return newString
  175.  
  176.     }
  177.  
  178.  
  179.  
  180.     render() {
  181.  
  182.         if (this.props.type == 'currency') {
  183.             return (
  184.                 {this.formatingNumber()}
  185.             );
  186.         } else if (this.props.type == 'date') {
  187.  
  188.             return (
  189.                 {this.formatingDate()}
  190.             );
  191.         } else {
  192.             return (
  193.                
  194.             );
  195.         }
  196.     }
  197.  
  198.  
  199.  
  200. }
RAW Paste Data