Tassa de interes anual hasta el 2016 aplicado a la escala salarial en Republica Dominicana
Objetivo
Calcular la tasa de interes anual aplicado a la escala salarial de la Republica dominicana hasta el 2016:
1. Renta hasta RD$ 399,923.00 = Exento
2. Renta desde RD$ 399,923.01 hasta RD$ 599,884.00 = 15% del excedente de RD$ 399,923.01
3. Renta desde RD$ 599,884.01 hasta RD$ 833,171.00 = RD$29,994.00 mas el 20% del excedente de RD$ 599,884.01
4. Rentas desde RD$ 833,171.01 en adelante = RD$ 76,652.00 más el 25% del excedente de RD$ 833,171.01
Nota
Esta es una aplicacion de escritorio, pero puede ser facirmente aplicado a una aplicacion web
Vista previa
Codigo C#
private void button1_Click(object sender, EventArgs e) { double SueldoBruto = 0; // Sueldo bruto ingresado por el usuario. double ISR = 0; // Impuesto Sobre la Renta. const double AFP = 2.87; // Administradoras de fondos de pensiones. const double ARL = 3.04; // Administradora de riesgos laborales. const double LISR2 = 399923.01 / 12; // Limite inferior de la escala 2. const double LISR3 = 599884.01 / 12; // Limite inferior de la escala 3. const double LISR4 = 833171.01 / 12; // Limite inferior de la escala 4. const double PCISR2 = 15.0 / 12; // Porciento aplicado a la escala 2. const double PCISR3 = 20.0 / 12; // Porciento aplicado a la escala 3. const double PCISR4 = 25.0 / 12; // Porciento aplicado a la escala 4. const double incr3 = 29994.0 / 12; // Valor fijo aplicado a la escala 3. const double incr4 = 76652.0 / 12; // Valor fijo aplicado a la escala 4. if ((double.TryParse(textBox1.Text, out SueldoBruto))) { // determinar el valor de ISR segun la escala salarial //No hay decuento, segun la escala 1 if ((SueldoBruto <= LISR2)) { ISR += ISR; } // 15% anual, segun la escala 2 else { double excedente; if ((SueldoBruto <= LISR3)) { // como es al excedente de LISR2, debemos hacer una resta con el sueldo excedente = SueldoBruto - (LISR2); // determino el descuento segun escala 2 ISR = (excedente * PCISR2) / 100; } // 20% anual, , segun la escala 3 else { if ((SueldoBruto <= LISR4)) { // como es al excedente de LISR3, debemos hacer una resta con el sueldo excedente = SueldoBruto - (LISR3); // determino el descuento mas incr3, segun la escala 3 ISR = ((excedente * PCISR3 / 100) + (incr3)); } // 25% anual, , segun la escala 4 else { // como es al excedente de LISR4, debemos hacer una resta con el sueldo excedente = SueldoBruto - (LISR4); // determino el descuento mas incr4, segun la escala 4 ISR = ((excedente * PCISR4 / 100) + (incr4)); } } } double SueldoNexto = SueldoBruto - (((SueldoBruto * AFP) / 100) + ((SueldoBruto * ARL) / 100) + (ISR)); listBox1.Items.Clear(); listBox1.Items.Add("Sueldo Bruto: \tRD$" + Convert.ToString(SueldoBruto)); listBox1.Items.Add("AFP: \t\t" + Convert.ToString(AFP) + "%"); listBox1.Items.Add("ARL: \t\t" + Convert.ToString(ARL) + "%"); listBox1.Items.Add("ISR: \t\t" + Convert.ToString(ISR) + "%"); listBox1.Items.Add("Total a descontar: \tRD$" + Convert.ToString(((SueldoBruto * AFP) / 100) + ((SueldoBruto * ARL) / 100) + (ISR))); listBox1.Items.Add("Sueldo Neto: \tRD$" + Convert.ToString(SueldoNexto)); } else { MessageBox.Show("Ingrese sueldo"); } }
Codigo Visual basic
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim SueldoBruto As Double REM Sueldo bruto ingresado por el usuario. Dim ISR As Double = 0 REM Impuesto Sobre la Renta. Const AFP As Double = 2.87 REM Administradoras de fondos de pensiones. Const ARL As Double = 3.04 REM Administradora de riesgos laborales. Const LISR2 As Double = 399923.01 / 12 REM Limite inferior de la escala 2 Const LISR3 As Double = 599884.01 / 12 REM Limite inferior de la escala 3 Const LISR4 As Double = 833171.01 / 12 REM Limite inferior de la escala 4 Const PCISR2 As Double = 15 / 12 REM Porciento aplicado a la escala 2 Const PCISR3 As Double = 20 / 12 REM Porciento aplicado a la escala 3 Const PCISR4 As Double = 25 / 12 REM Porciento aplicado a la escala 4 Const incr3 As Double = 29994.0 / 12 REM Valor fijo aplicado a la escala 3 Const incr4 As Double = 76652.0 / 12 REM Valor fijo aplicado a la escala 4 If (Double.TryParse(TextBox1.Text, SueldoBruto)) Then REM determinar el valor de ISR segun la escala salarial If (SueldoBruto <= LISR2) Then 'No hay decuento, segun la escala 1 ISR = ISR Else REM 15% anual, segun la escala 2 Dim excedente As Double If (SueldoBruto <= LISR3) Then REM como es al excedente de LISR1, debemos hacer una resta con el sueldo excedente = SueldoBruto - (LISR2) REM determino el descuento segun escala 2 ISR = (excedente * PCISR2) / 100 Else REM 20% anual If (SueldoBruto <= LISR4) Then REM como es al excedente de LISR2, debemos hacer una resta con el sueldo excedente = SueldoBruto - (LISR3) REM determino el descuento mas incr1, segun la escala 3 ISR = ((excedente * PCISR3 / 100) + (incr3)) Else REM 25% anual REM como es al excedente de LISR3, debemos hacer una resta con el sueldo excedente = SueldoBruto - (LISR4) REM determino el descuento mas incr2, segun la escala 4 ISR = ((excedente * PCISR4 / 100) + (incr4)) End If End If End If Dim SueldoNexto As Double = SueldoBruto - (((SueldoBruto * AFP) / 100) + ((SueldoBruto * ARL) / 100) + (ISR)) ListBox1.Items.Clear() ListBox1.Items.Add("Sueldo Bruto: " + vbTab + vbTab + "RD$" + CStr(SueldoBruto)) ListBox1.Items.Add("AFP: " + vbTab + vbTab + vbTab + CStr(AFP) + "%") ListBox1.Items.Add("ARL: " + vbTab + vbTab + vbTab + CStr(ARL) + "%") ListBox1.Items.Add("ISR: " + vbTab + vbTab + vbTab + CStr(ISR) + "%") ListBox1.Items.Add("Total a descontar: " + vbTab + vbTab + "RD$" + CStr(((SueldoBruto * AFP) / 100) + ((SueldoBruto * ARL) / 100) + (ISR))) ListBox1.Items.Add("Sueldo Neto: " + vbTab + vbTab + "RD$" + CStr(SueldoNexto)) Else MessageBox.Show("Ingrese sueldo") End If End Sub
Descripcion del codigo
Todo el codigo va a estar contenido dentro de la estructura condicional
If (Double.TryParse(TextBox1.Text, SueldoBruto)) Then Else MessageBox.Show("Ingrese sueldo") End If
donde el metodo
Double.TryParse(TextBox1.Text, SueldoBruto)
va a evaluar el valor ingresado por el ususario en la caja de texto,
de ser un valor valido hara la conversion al tipo Double y lo asignara
a la
variable SueldoBruto, luego retornara un valor de true a la condiccion
para que ejecute todo el codigo, de lo contrario enviara un mensaje
para
que ingrese un valor valido.
Tambien podriamos hacer uso de: Instrucción Try...Catch...Finally (Visual Basic). Esta instrucción proporciona una manera de
controlar algunos o todos los errores posibles que pueden ocurrir en un bloque de código determinado mientras se
ejecuta el código. Si piensa que se puede producir una excepción determinada en una sección concreta del
código, incluya éste en un bloque Try y utilice un bloque Catch para conservar el control y tratar la excepción que se produce.
Descarga | |
C# | VB |