采用WPF的形式实现简易银行存款计数器
计数数学逻辑应该是:(假设本金1000,利息10%)
不到一个月就按0月算,没有利息,纯本金;共1000
到了一个月就是本金加第一个月的利息;共1100
到了两个月就是原来的钱加上新一月存入的钱算作本金,再加利息,即(1100+1000)*(10%+1)=2310
首先展示效果图:
存不到一个月:
存一个月
存两个月
.xaml
<Window x:Class="WpfApp1.MainWindow"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="https://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="Form1" Height="462" Width="472" Background="#FFCFDAE5">
<Grid Margin="10,10,10,11">
<Grid Background="#FFF0F0F0" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="385*"/>
<ColumnDefinition Width="68*"/>
</Grid.ColumnDefinitions>
<Label Content="每月存入(元)" HorizontalAlignment="Left" Margin="55,61,0,0" VerticalAlignment="Top"/>
<Label Content="每月利率(%)" HorizontalAlignment="Left" Margin="55,94,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.409,0.055"/>
<Label Content="存款时间(月)" HorizontalAlignment="Left" Margin="55,127,0,0" VerticalAlignment="Top"/>
<Label Content="账面余额" HorizontalAlignment="Left" Margin="55,194,0,0" VerticalAlignment="Top"/>
<Button Content="计算" HorizontalAlignment="Left" Margin="114,306,0,0" VerticalAlignment="Top" Height="28" Width="90" Click="suan" BorderBrush="#FF686767" Panel.ZIndex="1"/>
<Button Content="关闭" HorizontalAlignment="Left" Margin="272,306,0,0" VerticalAlignment="Top" Height="28" Width="90" Click="tui"/>
<TextBox x:Name="cunqian" HorizontalAlignment="Left" Margin="217,61,0,0" Text="" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="lilv" HorizontalAlignment="Left" Margin="217,102,0,0" Text="" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="shijian" HorizontalAlignment="Left" Margin="217,141,0,0" Text="" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="yue" HorizontalAlignment="Left" Margin="217,194,0,0" Text="" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" IsEnabled="False"/>
<Border BorderThickness="1" BorderBrush="Black" Grid.ColumnSpan="2"/>
</Grid>
</Grid>
</Window>
.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApp1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void suan(object sender, RoutedEventArgs e)
{
double rmb = 0;
double qian = double.Parse(cunqian.Text);
double sum = qian;
double li = double.Parse(lilv.Text);
double shi = double.Parse(shijian.Text);
double i = 0;
double shang=0;
if (shi == 0)
{
sum = qian; //没利息,纯本金
}
else if (shi == 1)
{
rmb = qian * (li * 0.01 + 1); //本金+第一个月的利息
sum = rmb;
}
else
{
shang = qian * (li * 0.01 + 1); //第二月的本金
for (i = 1; i < shi; i++)
{
sum = (shang+qian) * (li * 0.01 + 1); //【(新一月的本金)+新汇入本金】*利率
shang = sum;
}
}
yue.Text = sum.ToString();
}
private void tui(object sender, RoutedEventArgs e)
{
Application.Current.Shutdown();
}
}
}