Convert Octal to Decimal Number in Windows Store App

 Introduction

My previous article explained how to convert Decimal to Octal number and in this article  I explain how to convert a number expressed as an octal number to a number expressed as a decimal number. So let us first of all understand the conversion.

Octal Number: A number expressed using the base 8 number system with digits 0 to 7.

Decimal Number: A number expressed using the base 10 number system with digits 0 to 9.

Conversion Example: suppose you want to convert an octal number 764 to decimal number. Then use the following procedure.

Step 1 : 4 * 8^0 =4 * 1=4
Step 2 : 6 * 8^1= 6* 8=48
Step 3 : 7* 8^2=7*64= 448

Hence equivalent decimal number = 4 + 48 + 448 =  500

Use the following procedure to create it.


Step 1

First of all you must create a new Windows Store Application.
Open Visual Studio 2012
"File" -> "New" -> "Project..."
Choose "Template" -> "Visual C#" -> "Window Store app"
Choose "Blank App (XAML)" then rename the application

new-windows-store-app.jpg

Step 2
Write the following XAML code in "Mainpage.Xaml" (that is available in Solution Explorer):

<Page

    x:Class="Octal_to_Decimal_converter_app.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:local="using:Octal_to_Decimal_converter_app"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    mc:Ignorable="d">

 

    <Grid Background="red">

        <Grid.ColumnDefinitions>

            <ColumnDefinition Width="313*"/>

            <ColumnDefinition Width="254*"/>

            <ColumnDefinition Width="788*"/>

        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>

            <RowDefinition Height="78*"/>

            <RowDefinition Height="49*"/>

            <RowDefinition Height="37*"/>

            <RowDefinition Height="40*"/>

            <RowDefinition Height="39*"/>

            <RowDefinition Height="525*"/>

        </Grid.RowDefinitions>

        <TextBlock Text="Octal to Decimal Converter app" Grid.ColumnSpan="3" Grid.Row="1" Foreground="White" FontSize="20" FontFamily="Arial" TextAlignment="Center"></TextBlock>

        <TextBlock Text="Enter Octal Number :" FontFamily="Arial" FontSize="15" Foreground="White" Grid.Column="1" Grid.Row="2" Grid.RowSpan="4"></TextBlock>

        <TextBox x:Name="textbox1" Grid.Column="2" Grid.Row="2" Width="200" HorizontalAlignment="Left" Height="20" VerticalAlignment="Top" />

        <TextBlock Text="Eqivalent Decimal Number is " FontSize="15" Foreground="White" Grid.Column="1" Grid.Row="3"></TextBlock>

        <TextBlock x:Name="text1" FontSize="15" Foreground="White" Grid.Column="2" Grid.Row="3" Width="200" HorizontalAlignment="Left" ></TextBlock>

        <Button x:Name="button1" Grid.Column="2" Grid.Row="4" Background="Yellow" Foreground="Black" Width="150" Content="Click" Click="button1_Click"></Button>

    </Grid>

</Page>

 

Step 3

Now write the following C# code for the button within "Mainpage.Xaml.cs".

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using Windows.Foundation;

using Windows.Foundation.Collections;

using Windows.UI.Xaml;

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Controls.Primitives;

using Windows.UI.Xaml.Data;

using Windows.UI.Xaml.Input;

using Windows.UI.Xaml.Media;

using Windows.UI.Xaml.Navigation;

 

namespace Octal_to_Decimal_converter_app

{   

    public sealed partial class MainPage : Page

    {

        public MainPage()

        {

            this.InitializeComponent();

        }

        protected override void OnNavigatedTo(NavigationEventArgs e)

        {

        }

        private void button1_Click(object sender, RoutedEventArgs e)

        {

            int octnum = 0, r = 0;

            int i=0;

            double decnum = 0; 

            octnum = int.Parse(textbox1.Text);

            while (octnum != 0)

            {

                r = octnum % 10;

                decnum = decnum +(r * Math.Pow(8, i++));

                octnum = octnum / 10;

            }

            text1.Text = decnum.ToString();

        }

    }

}

 

Step 4

Now Run Your app.

output-of-converter-app.jpg